home *** CD-ROM | disk | FTP | other *** search
/ EnigmA Amiga Run 1997 February / EnigmA AMIGA RUN 15 (1997)(G.R. Edizioni)(IT)[!][issue 1997-02][PLANET CD V].iso / enigma / earcd / sviluppo / svilupp2 / muiclstr.lha / txt / MuiO.def < prev    next >
Text File  |  1995-12-19  |  111KB  |  2,593 lines

  1. |##########|
  2. |#MAGIC   #|DNEIEIAH
  3. |#PROJECT #|"MuiImport"
  4. |#PATHS   #|"StdProject"
  5. |#FLAGS   #|xx---x-xxx--x-x-----------------
  6. |#USERSW  #|--------------------------------
  7. |#USERMASK#|--------------------------------
  8. |#SWITCHES#|xx---xxxxx-xx---
  9. |##########|
  10.  
  11. DEFINITION MODULE MuiO;
  12.  
  13. (*------------------------------------------
  14.  
  15.   :Module.      MuiO.mod
  16.   :Author.      Henning Thielemann
  17.   :Address.     Veilchenweg 34, 06118 Halle, Germany
  18.   :EMail.       henning.thielemann@student.uni-halle.de
  19.   :Version.     $VER: MuiO.mod 17.0 (01.12.96)
  20.   :Copyright.   Henning Thielemann
  21.   :Language.    Cluster
  22.   :Translator.  Amiga Cluster V2.0
  23.   :Contents.    Interface for MUI
  24.   :Bugs.        No warranty given for completeness, expect changes!
  25.   :Usage.       <Angaben zur Anwendung>
  26.   :History.     3.6    [ht]  30-Nov-1996 : Get ready for Aminet.
  27.   :History.     3.1    [ht]     Feb-1996 :
  28.   :History.     2.3    [ht]     Aug-1995 : I get registered -> own tags become possible
  29.   :History.     2.1    [ht]     Jun-1995 : initial version
  30.  
  31. --------------------------------------------*)
  32.  
  33.  
  34. FROM System      IMPORT Regs, SysStringPtr, LONGSET;
  35. FROM Utility     IMPORT StdTags, HookPtr;
  36. FROM Intuition   IMPORT MenuItemPtr, ScreenPtr, WindowPtr, ImagePtr, GadgetPtr,
  37.             ImageDrawStates, IClassPtr, IDCMPFlagSet, DrawInfoPtr,
  38.             MethodID, Msg, MsgRoot, IntuitionBase;
  39. FROM Commodities IMPORT NewBrokerPtr;
  40. FROM Exec        IMPORT MsgPortPtr, LibraryPtr, ListPtr, TaskSigSet, MinNode;
  41. FROM Workbench   IMPORT DiskObjectPtr, AppMessagePtr;
  42. FROM GadTools    IMPORT NewMenu, IntuiMessagePtr;
  43. FROM Rexx        IMPORT RexxMsgPtr;
  44. FROM Graphics    IMPORT TextFontPtr, BitMapPtr, RegionPtr;
  45. FROM Asl         IMPORT AslRequesterPtr, RequestType;
  46. FROM IFFParse    IMPORT IFFHandlePtr;
  47.  
  48. CONST
  49.   MuiName = "muimaster.library";
  50.   MuiMinVersion = 17;
  51. | all functions, attributes and methods involved in comments
  52. | are obsolete in the current version of MUI
  53.  
  54. TYPE
  55.   RenderInfoPtr     = POINTER TO RenderInfo;
  56.   NotifyDataPtr     = POINTER TO NotifyData;
  57.   MinMaxPtr         = POINTER TO MinMax;
  58.   AreaDataPtr       = POINTER TO AreaData;
  59.   GlobalInfoPtr     = POINTER TO GlobalInfo;
  60.  
  61.   Object            = POINTER TO ObjectRec;
  62.   ApplicationObject = POINTER TO ApplicationRec;
  63.   WindowObject      = POINTER TO WindowRec;
  64.   AreaObject        = POINTER TO AreaRec;
  65.   FamilyObject      = POINTER TO FamilyRec;
  66.   ListObject        = POINTER TO ListRec;
  67.   GroupObject       = POINTER TO GroupRec;
  68.   PopstringObject   = POINTER TO PopstringRec;
  69.  
  70.   CommandPtr        = POINTER TO Command;
  71.  
  72.   NewMenuArrPtr     = POINTER TO ARRAY OF NewMenu;
  73.   StringArrPtr      = POINTER TO ARRAY OF SysStringPtr;
  74.   BrokerPtr         = NewBrokerPtr;
  75.   RxMsgPtr          = RexxMsgPtr;
  76.  
  77.  
  78.   | Cluster assumes TRUE as -1,
  79.   | this works in most cases but not if you create a notification on a boolean attribute
  80.   CBOOLEAN = (false, true, makeLong=$10000);
  81.   LongID   = ARRAY [4] OF CHAR;
  82.  
  83.   Dispatcher = PROCEDURE (class IN A0 : IClassPtr; obj IN A2 : Object; message IN A1 : Msg);
  84.  
  85.   PoolHeaderPtr = DEFERRED POINTER Exec39.PoolHeaderPtr;
  86.  
  87.  
  88. (* Instance data of notify class *)
  89.  
  90. TYPE
  91.   NotifyData  = RECORD
  92.            globalInfo : GlobalInfoPtr;
  93.            userData   : LONGINT;
  94.            priv       : ARRAY [5] OF LONGINT;
  95.          END;
  96.  
  97.  
  98. (* MinMax structure holds information about minimum, maximum
  99.    and default dimensions of an object. *)
  100.  
  101.   MinMax  = RECORD
  102.            minWidth    : INTEGER;
  103.            minHeight   : INTEGER;
  104.            maxWidth    : INTEGER;
  105.            maxHeight   : INTEGER;
  106.            defWidth    : INTEGER;
  107.            defHeight   : INTEGER;
  108.          END;
  109.  
  110. CONST maxmax   = 10000; (* use this if a dimension is not limited. *)
  111.  
  112.  
  113. (* (partial) instance data of area class *)
  114.  
  115. TYPE
  116.   AreaDataFlags =          (drawObject,    | completely redraw yourself
  117.                 drawUpdate,    | only update yourself
  118.                 makeLong=31);
  119.   AreaDataFlagSet = SET OF AreaDataFlags;
  120.  
  121.   AreaData  = RECORD
  122.         renderInfo   : RenderInfoPtr;         (* RenderInfo for this object *)
  123.         priv0        : ANYPTR;                (* !!! private data !!! *)
  124.         font         : Graphics.TextFontPtr;  (* Font *)
  125.         minMax       : MinMax;                (* min/max/default sizes *)
  126.         box          : Intuition.IBox;        (* position and dimension *)
  127.         addleft      : SHORTINT;              (* frame & innerspacing left offset *)
  128.         addtop       : SHORTINT;              (* frame & innerspacing top offset  *)
  129.         subwidth     : SHORTINT;              (* frame & innerspacing add. width  *)
  130.         subheight    : SHORTINT;              (* frame & innerspacing add. height *)
  131.         flags        : AreaDataFlagSet;       (* see definitions above *)
  132.         (* ... private data follows ... *)
  133.           END;
  134.  
  135. (* Global information about parent application. *)
  136.  
  137. TYPE
  138.   GlobalInfo  = RECORD;
  139.            priv0             : ANYPTR; (* !!! private data !!! *)
  140.            applicationObject : ApplicationObject;
  141.  
  142.            (* ... private data follows ... *)
  143.          END;
  144.  
  145. (* MUI's draw pens *)
  146.  
  147. TYPE
  148.   MuiPens = (shine,      halfshine, background,
  149.          halfshadow, shadow,    text,
  150.          fill,       activeObj, count);
  151.  
  152.   MuiPenPtr = POINTER TO ARRAY MuiPens OF INTEGER;
  153.  
  154. (* Information on display environment *)
  155.  
  156.   RenderInfo  = RECORD;
  157.            windowObject    : WindowObject;           (* valid between mSetup/mCleanup *)
  158.            screen          : Intuition.ScreenPtr;    (* valid between mSetup/mCleanup *)
  159.            drawInfo        : DrawInfoPtr;            (* valid between mSetup/mCleanup *)
  160.            pens            : MuiPenPtr;              (* valid between mSetup/mCleanup *)
  161.            window          : Intuition.WindowPtr;    (* valid between mShow/mHide *)
  162.            rastPort        : Graphics.RastPortPtr;   (* valid between mShow/mHide *)
  163.            (* ... private data follows ...*)
  164.          END;
  165.  
  166.  
  167. TYPE
  168. |  ObjectRecord     = RECORD OF Intuition.Object END;
  169.   | MUI-Objects are Intuition-Boopsi-Objects,
  170.   | but the notify instance data are often used,
  171.   | and Intuition's negative offsets can't be accessed directly
  172.   ObjectRec      = RECORD mnd : NotifyData END;
  173.   ApplicationRec = RECORD OF ObjectRec END;
  174.   WindowRec      = RECORD OF ObjectRec END;
  175.   AreaRec        = RECORD OF ObjectRec; mad : AreaData END;
  176.   FamilyRec      = RECORD OF ObjectRec END;
  177.   ListRec        = RECORD OF AreaRec   END;
  178.   GroupRec       = RECORD OF AreaRec   END;
  179.   PopstringRec   = RECORD OF GroupRec  END;
  180.  
  181. (****************************************************************************)
  182. (** ARexx Interface                                                        **)
  183. (****************************************************************************)
  184.  
  185. TYPE
  186.   Command  = RECORD
  187.            name       : SysStringPtr;
  188.            template   : SysStringPtr;
  189.            parameters : LONGINT;
  190.            hook       : HookPtr;
  191.            reserved   : ARRAY [5] OF LONGINT;
  192.          END;
  193.  
  194. CONST
  195.   templateID = SysStringPtr(-1);
  196.  
  197. TYPE
  198.   rxError = (badSyntax=-4, unknownCommand, outOfMemory, badDefinition);
  199.  
  200.  
  201. (****************************************************************************)
  202. (** Return values for Error()                                              **)
  203. (****************************************************************************)
  204.  
  205. TYPE
  206.   MuiError = (ok, outOfMemory, outOfGfxMemory, invalidWindowObject,
  207.           missingLibrary, noARexx, singleTask, makeLong = $10000);
  208.  
  209. EXCEPTION
  210.   OutOfMemory         : "Out Of Memory";
  211.   OutOfGfxMemory      : "Out Of Gfx Memory";
  212.   InvalidWindowObject : "Invalid Window Object";
  213.   MissingLibrary      : "Missing Library";
  214.   NoARexx             : "No ARexx";
  215.   SingleTask          : "Single Task";
  216.  
  217.   MuiErr = OutOfMemory,         OutOfGfxMemory,
  218.        InvalidWindowObject, MissingLibrary,
  219.        NoARexx,             SingleTask;
  220.  
  221. PROCEDURE AssertMuiError (bool : BOOLEAN);
  222.  
  223. (****************************************************************************)
  224. (** Standard MUI Images                                                    **)
  225. (****************************************************************************)
  226.  
  227. TYPE
  228.   StandardImages = (windowBack, requesterBack, buttonBack, listBack,
  229.             textBack,   propBack,      popupBack,  selectedBack,
  230.             listCursor, listSelect,    listSelCur,
  231.             arrowUp,    arrowDown,     arrowLeft,  arrowRight,
  232.             checkMark,  radioButton,   cycle,
  233.             popUp,      popFile,       popDrawer,
  234.             propKnob,
  235.             drawer,     hardDisk,      disk,
  236.             chip,       volume,        popUpBack,
  237.             network,    assign,
  238.             tapePlay,   tapePlayBack,  tapePause,
  239.             tapeStop,   tapeRecord,
  240.             groupBack,
  241.             sliderBack, sliderKnob,
  242.             tapeUp,     tapeDown,      count,
  243.  
  244.     BACKGROUND = 128,    (* These are direct color    *)
  245.     SHADOW,              (* combinations and are not  *)
  246.     SHINE,               (* affected by users prefs.  *)
  247.     FILL,
  248.     SHADOWBACK,          (* Generally, you should     *)
  249.     SHADOWFILL,          (* avoid using them. Better  *)
  250.     SHADOWSHINE,         (* use one of the customized *)
  251.     FILLBACK,            (* images above.             *)
  252.     FILLSHINE,
  253.     SHINEBACK,
  254.     FILLBACK2,
  255.     HSHINEBACK,
  256.     HSHADOWBACK,
  257.     HSHINESHINE,
  258.     HSHADOWSHADOW,
  259.     N1HSHINE,
  260.     LASTPAT);
  261.  
  262.  
  263. (****************************************************************************)
  264. (** Object Types for MakeObject()                                          **)
  265. (****************************************************************************)
  266.  
  267.   SimpleLabelFlags = (commandKeyCheck=0, singleFrame=8, doubleFrame, leftAligned, centered, freeVert, makeLong=31);
  268.   SimpleLabelFlagSet = SET OF SimpleLabelFlags;
  269.  
  270.   SimpleObjects =
  271.     (label = 1,      | pLabel
  272.      button,         | pButton
  273.      checkmark,      | pButton
  274.      cycle,          | pCycle
  275.      radio,          | pCycle
  276.      slider,         | pSlider
  277.      string,         | pString
  278.      popButton,      | pPopButton
  279.      hSpace,         | pSpace
  280.      vSpace,         | pSpace
  281.      hBar,           | pSpace
  282.      vBar,           | pSpace
  283.      menustripNM,    | pMenuStrip
  284.      menuitem,       | pMenuItem
  285.      barTitle,       | pButton
  286.      numericButton); | pNumeric
  287.  
  288.   pSimple = RECORD END;
  289.  
  290.   pLabel     = RECORD OF pSimple; label : SysStringPtr; flags : SimpleLabelFlagSet; END;
  291.   pButton    = RECORD OF pSimple; label : SysStringPtr; END;
  292.   pCycle     = RECORD OF pSimple; label : SysStringPtr; entries : StringArrPtr; END;
  293.   pSlider    = RECORD OF pSimple; label : SysStringPtr; min, max : LONGINT; END;
  294.   pString    = RECORD OF pSimple; label : SysStringPtr; maxlen   : LONGINT; END;
  295.   pPopButton = RECORD OF pSimple; imagespec : StandardImages; END;
  296.   pSpace     = RECORD OF pSimple; space : LONGINT; END;
  297.   pMenuStrip = RECORD OF pSimple; nm : NewMenuArrPtr; flags : SimpleLabelFlagSet; END;
  298.   pMenuItem  = RECORD OF pSimple; label, shortcut : SysStringPtr; flags : SimpleLabelFlagSet; data : LONGCARD; END;
  299.   pNumeric   = RECORD OF pSlider; format : SysStringPtr; END;
  300.  
  301. (****************************************************************************)
  302. (** Special values for some methods                                        **)
  303. (****************************************************************************)
  304.  
  305. CONST
  306.   triggerValue        = $49893131;
  307.   notTriggerValue     = $49893133;
  308.   everyTime           = $49893131;
  309.  
  310.   ptrTriggerValue     = ANYPTR (triggerValue);
  311.   ptrEveryTime        = ANYPTR (everyTime);
  312.  
  313.   realTriggerValue    = CAST (REAL, triggerValue);
  314.   realEveryTime       = CAST (REAL, everyTime);
  315.  
  316.   boolTriggerValue    = CBOOLEAN (triggerValue);
  317.   boolNotTriggerValue = CBOOLEAN (notTriggerValue);
  318.   boolEveryTime       = CBOOLEAN (everyTime);
  319.  
  320.   notifySelf          = Object (1);
  321.   notifyWindow        = Object (2);
  322.   notifyApplication   = Object (3);
  323.   notifyParent        = Object (4);
  324.  
  325.   applicationSaveENV      = SysStringPtr( 0);
  326.   applicationSaveENVARC   = SysStringPtr(-1);
  327.   applicationLoadENV      = SysStringPtr( 0);
  328.   applicationLoadENVARC   = SysStringPtr(-1);
  329.   applicationReturnIDQuit  = -1;
  330.  
  331.   colorpanelGetColorActive = -1;
  332.   colorpanelSetColorActive = -1;
  333.  
  334. TYPE
  335.   ScrollbarTypes   = (default, bottom, top, sym);
  336.   Precision        = (exact = -1, image = 0, icon = 16, gui = 32);   | from graphics/view.h
  337.   ImageadjustTypes = (all, image, background, pen);
  338.  
  339. (****************************************************************************)
  340. (** Control codes for text strings                                         **)
  341. (****************************************************************************)
  342.  
  343. CONST
  344.   xR = &27+"r";    (* right justified *)
  345.   xC = &27+"c";    (* centered        *)
  346.   xL = &27+"l";    (* left justified  *)
  347.  
  348.   xN = &27+"n";    (* normal     *)
  349.   xB = &27+"b";    (* bold       *)
  350.   xI = &27+"i";    (* italic     *)
  351.   xU = &27+"u";    (* underlined *)
  352.  
  353.   xPT = &27+"2";   (* text pen           *)
  354.   xPH = &27+"8";   (* highlight text pen *)
  355.  
  356. (****************************************************************************)
  357. (** Notify                                                                 **)
  358. (****************************************************************************)
  359.  
  360. CONST
  361.   cNotify  = "Notify.mui";
  362.  
  363. (* Attributes *)
  364.  
  365. | the sequential linking of the tag types don't represent the object class tree
  366. | but in the current version of cluster it is the only way to split the tags
  367. TYPE
  368.   NotifyTags = TAGS OF StdTags
  369.     appMessage             = $80421955 : AppMessagePtr;     |  V5 ..g
  370. |   helpFile               = $80423A6E : SysStringPtr;      |  V4 isg
  371.     helpLine               = $8042A825 : LONGINT;           |  V4 isg
  372.     helpNode               = $80420B85 : SysStringPtr;      |  V4 isg
  373.     noNotify               = $804237F9 : CBOOLEAN;          |  V7 .s.
  374.     parent                 = $8042E35F : Object;            | V11 ..g
  375.     revision               = $80427EAA : LONGINT;           |  V4 ..g
  376.     userData               = $80420313 : LONGINT;           |  V4 isg
  377.     version                = $80422301 : LONGINT;           |  V4 ..g
  378.   END;
  379.  
  380. (* Methods *)
  381.  
  382. CONST
  383.   mCallHook          = MethodID($8042B96B); | V4
  384.   mExport                       = MethodID($80420F1C); | V12
  385.   mFindUData         = MethodID($8042C196); | V8
  386.   mGetConfigItem                = MethodID($80423EDB); | V11
  387.   mGetUData          = MethodID($8042ED0C); | V8
  388.   mImport                       = MethodID($8042D012); | V12
  389.   mKillNotify        = MethodID($8042D240); | V4
  390.   mKillNotifyObj                = MethodID($8042B145); | V16
  391.   mMultiSet          = MethodID($8042D356); | V7
  392.   mNoNotifySet       = MethodID($8042216F); | V9
  393.   mNotify            = MethodID($8042C9CB); | V4
  394.   mSet               = MethodID($8042549A); | V4
  395.   mSetAsString       = MethodID($80422590); | V4
  396.   mSetUData          = MethodID($8042C920); | V8
  397.   mSetUDataOnce      = MethodID($8042CA19); | V11
  398.   mWriteLong         = MethodID($80428D86); | V6
  399.   mWriteString       = MethodID($80424BF4); | V6
  400.  
  401. (* Parameters are below, because MUI tags have to be defined before *)
  402.  
  403. (****************************************************************************)
  404. (** Family                                                                 **)
  405. (****************************************************************************)
  406.  
  407. CONST
  408.   cFamily  = "Family.mui";
  409.  
  410. (* Attributes *)
  411.  
  412. TYPE
  413.   FamilyTags = TAGS OF NotifyTags;
  414.     familyChild            = $8042C696 : FamilyObject;      |  V8 i..
  415.   END;
  416.  
  417. (* Methods *)
  418.  
  419. CONST
  420.   mFamilyAddHead     = MethodID($8042E200); | V8
  421.   mFamilyAddTail     = MethodID($8042D752); | V8
  422.   mFamilyInsert      = MethodID($80424D34); | V8
  423.   mFamilyRemove      = MethodID($8042F8A9); | V8
  424.   mFamilySort        = MethodID($80421C49); | V8
  425.   mFamilyTransfer    = MethodID($8042C14A); | V8
  426.  
  427.   METHOD AddHead (o : FamilyObject; newo       : Object);
  428.   METHOD AddTail (o : FamilyObject; newo       : Object);
  429.   METHOD Insert  (o : FamilyObject; newo, pred : Object);
  430.   METHOD Remove  (o : FamilyObject; remo       : Object);
  431.   METHOD Sort    (o : FamilyObject; VAR child : ARRAY OF Object);
  432.   METHOD Transfer(o, family : FamilyObject);
  433.  
  434. (****************************************************************************)
  435. (** Application                                                            **)
  436. (****************************************************************************)
  437.  
  438. CONST
  439.   cApplication  = "Application.mui";
  440.  
  441. (* Attributes *)
  442.  
  443. TYPE
  444.   ApplicationTags = TAGS OF FamilyTags
  445.     applicationActive      = $804260AB : CBOOLEAN;          |  V4 isg
  446.     applicationAuthor      = $80424842 : SysStringPtr;      |  V4 i.g
  447.     applicationBase        = $8042E07A : SysStringPtr;      |  V4 i.g
  448.     applicationBroker      = $8042DBCE : BrokerPtr;         |  V4 ..g
  449.     applicationBrokerHook  = $80428F4B : HookPtr;           |  V4 isg
  450.     applicationBrokerPort  = $8042E0AD : MsgPortPtr;        |  V6 ..g
  451.     applicationBrokerPri   = $8042C8D0 : LONGINT;           |  V6 i.g
  452.     applicationCommands    = $80428648 : CommandPtr;        |  V4 isg
  453.     applicationCopyright   = $8042EF4D : SysStringPtr;      |  V4 i.g
  454.     applicationDescription = $80421FC6 : SysStringPtr;      |  V4 i.g
  455.     applicationDiskObject  = $804235CB : DiskObjectPtr;     |  V4 isg
  456.     applicationDoubleStart = $80423BC6 : CBOOLEAN;          |  V4 ..g
  457.     applicationDropObject  = $80421266 : Object;            |  V5 is.
  458.     applicationForceQuit   = $804257DF : CBOOLEAN;          |  V8 ..g
  459.     applicationHelpFile    = $804293F4 : SysStringPtr;      |  V8 isg
  460.     applicationIconified   = $8042A07F : CBOOLEAN;          |  V4 .sg
  461.     applicationMenu        = $80420E1F : NewMenuArrPtr;     |  V4 i.g
  462.     applicationMenuAction  = $80428961 : LONGCARD;          |  V4 ..g
  463.     applicationMenuHelp    = $8042540B : LONGCARD;          |  V4 ..g
  464.     applicationMenustrip   = $804252D9 : FamilyObject;      |  V8 i..
  465.     applicationRexxHook    = $80427C42 : HookPtr;           |  V7 isg
  466.     applicationRexxMsg     = $8042FD88 : RxMsgPtr;          |  V4 ..g
  467.     applicationRexxString  = $8042D711 : SysStringPtr;      |  V4 .s.
  468.     applicationSingleTask  = $8042A2C8 : CBOOLEAN;          |  V4 i..
  469.     applicationSleep       = $80425711 : CBOOLEAN;          |  V4 .s.
  470.     applicationTitle       = $804281B8 : SysStringPtr;      |  V4 i.g
  471.     applicationUseCommodities
  472.                = $80425EE5 : CBOOLEAN;          | V10 i..
  473.     applicationUseRexx     = $80422387 : CBOOLEAN;          | V10 i..
  474.     applicationVersion     = $8042B33F : SysStringPtr;      |  V4 i.g
  475.     applicationWindow      = $8042BFE0 : WindowObject;      |  V4 i..
  476.     applicationWindowList  = $80429ABE : ListPtr;           | V13 ..g
  477.   END;
  478.  
  479. (* Methods *)
  480.  
  481. CONST
  482.   mApplicationAboutMUI         = MethodID($8042D21D); | V14
  483.   mApplicationAddInputHandler  = MethodID($8042F099); | V11
  484.   mApplicationCheckRefresh     = MethodID($80424D68); | V11
  485.   mApplicationGetMenuCheck     = MethodID($8042C0A7); | V4
  486.   mApplicationGetMenuState     = MethodID($8042A58F); | V4
  487.   mApplicationInput            = MethodID($8042D0F5); | V4
  488.   mApplicationInputBuffered    = MethodID($80427E59); | V4
  489.   mApplicationLoad             = MethodID($8042F90D); | V4
  490.   mApplicationNewInput         = MethodID($80423BA6); | V11
  491.   mApplicationOpenConfigWindow = MethodID($804299BA); | V11
  492.   mApplicationPushMethod       = MethodID($80429EF8); | V4
  493.   mApplicationRemInputHandler  = MethodID($8042E7AF); | V11
  494.   mApplicationReturnID         = MethodID($804276EF); | V4
  495.   mApplicationSave             = MethodID($804227EF); | V4
  496.   mApplicationSetConfigItem    = MethodID($80424A80); | V11
  497.   mApplicationSetMenuCheck     = MethodID($8042A707); | V4
  498.   mApplicationSetMenuState     = MethodID($80428BEF); | V4
  499.   mApplicationShowHelp         = MethodID($80426479); | V4
  500.  
  501.  
  502. (* Parameter *)
  503.  
  504. TYPE
  505. | pApplicationGetMenuCheckPtr = POINTER TO pApplicationGetMenuCheck;
  506. | pApplicationGetMenuCheck    = RECORD OF MsgRoot; menuID : LONGINT END;
  507.  
  508. | pApplicationGetMenuStatePtr = POINTER TO pApplicationGetMenuState;
  509. | pApplicationGetMenuState    = pApplicationGetMenuCheck;
  510.  
  511. | pApplicationSetMenuCheckPtr = POINTER TO pApplicationSetMenuCheck;
  512. | pApplicationSetMenuCheck    = RECORD OF MsgRoot;
  513. |                                 menuID : LONGINT;
  514. |                                 set    : LONGINT;
  515. |                               END;
  516.  
  517. | pApplicationSetMenuStatePtr = POINTER TO pApplicationSetMenuState;
  518. | pApplicationSetMenuState    = pApplicationSetMenuCheck;
  519.  
  520. | pApplicationInputPtr        = POINTER TO pApplicationInput;
  521. | pApplicationInput           = RECORD OF MsgRoot; signal : POINTER TO TaskSigSet END;
  522.  
  523.   pApplicationAboutMUIPtr     = POINTER TO pApplicationAboutMUI;
  524.   pApplicationAboutMUI        = RECORD OF MsgRoot; refwindow : WindowObject END;
  525.  
  526.   pApplicationNewInputPtr     = POINTER TO pApplicationNewInput;
  527.   pApplicationNewInput        = RECORD OF MsgRoot; signal : POINTER TO TaskSigSet END;
  528.  
  529.   pApplicationLoadPtr         = POINTER TO pApplicationLoad;
  530.   pApplicationLoad            = RECORD OF MsgRoot; name : SysStringPtr END;
  531.  
  532.   pApplicationSavePtr         = POINTER TO pApplicationSave;
  533.   pApplicationSave            = pApplicationLoad;
  534.  
  535.   pApplicationPushMethodPtr   = POINTER TO pApplicationPushMethod;
  536.   pApplicationPushMethod      = RECORD OF MsgRoot;
  537.                   dest   : Object;
  538.                   count  : LONGINT;
  539.                 | beginning of method + parameters
  540.                 | msg    : MsgRoot;
  541.                 END;
  542.  
  543.   pApplicationReturnIDPtr     = POINTER TO pApplicationReturnID;
  544.   pApplicationReturnID        = RECORD OF MsgRoot; retid : LONGINT END;
  545.  
  546.   pApplicationShowHelpPtr     = POINTER TO pApplicationShowHelp;
  547.   pApplicationShowHelp        = RECORD OF MsgRoot;
  548.                   window     : Object;
  549.                   name, node : SysStringPtr;
  550.                   line       : LONGINT;
  551.                 END;
  552.  
  553.   InputHandlerFlagSet = LONGSET; | currently not used
  554.   InputHandlerNodePtr = POINTER TO InputHandlerNode;
  555.   InputHandlerNode    = RECORD OF MinNode
  556.               object  : Object;
  557.               signals : TaskSigSet;
  558.               flags   : InputHandlerFlagSet;
  559.               method  : MethodID;
  560.             END ;
  561.  
  562.   pApplicationAddInputHandlerPtr = POINTER TO pApplicationAddInputHandler;
  563.   pApplicationAddInputHandler    = RECORD OF MsgRoot; ihnode : InputHandlerNodePtr END;
  564.  
  565.   pApplicationRemInputHandlerPtr = POINTER TO pApplicationRemInputHandler;
  566.   pApplicationRemInputHandler    = pApplicationAddInputHandler;
  567.  
  568.   pApplicationCheckRefreshPtr = POINTER TO pApplicationCheckRefresh;
  569.   pApplicationCheckRefresh    = RECORD OF MsgRoot; END;
  570.  
  571.   OpenConfigWindowFlagSet = SET OF [32];  | currently not used
  572.   pApplicationOpenConfigWindowPtr = POINTER TO pApplicationOpenConfigWindow;
  573.   pApplicationOpenConfigWindow    = RECORD OF MsgRoot; flags : OpenConfigWindowFlagSet END;
  574.  
  575.   pApplicationSetConfigItemPtr = POINTER TO pApplicationSetConfigItem;
  576.   pApplicationSetConfigItem    = RECORD OF MsgRoot; item : LONGINT; data : ANYPTR END;
  577.  
  578. | METHOD GetMenuCheck (o : ApplicationObject; menuID : LONGINT);
  579. | METHOD GetMenuState (o : ApplicationObject; menuID : LONGINT);
  580. | METHOD Input        (o : ApplicationObject; VAR signal : TaskSigSet) : LONGINT;
  581.   METHOD InputBuffered(o : ApplicationObject);
  582.   METHOD NewInput     (o : ApplicationObject; VAR signal : TaskSigSet) : LONGINT;
  583.   METHOD Load         (o : ApplicationObject; name   : SysStringPtr);
  584.   METHOD PushMethod   (o : ApplicationObject; dest   : Object; msg : LIST OF LONGINT );
  585.   METHOD PushMethodA  (o : ApplicationObject; dest   : Object; REF msg : ANYTYPE );
  586.   METHOD ReturnID     (o : ApplicationObject; retid  : LONGINT);
  587.   METHOD Save         (o : ApplicationObject; name   : SysStringPtr);
  588. | METHOD SetMenuCheck (o : ApplicationObject; menuID : LONGINT; set : LONGINT);
  589. | METHOD SetMenuState (o : ApplicationObject; menuID : LONGINT; set : LONGINT);
  590.   METHOD ShowHelp     (o : ApplicationObject;
  591.           window : Object;
  592.           name, node : SysStringPtr;
  593.             line : LONGINT);
  594.  
  595.  
  596. (****************************************************************************)
  597. (** Window                                                                 **)
  598. (****************************************************************************)
  599.  
  600. CONST
  601.   cWindow  = "Window.mui";
  602.  
  603. (* Attributes *)
  604.  
  605. PROCEDURE windowAltHeightMinMax   (p:LONGINT): LONGINT;
  606. PROCEDURE windowAltHeightVisible  (p:LONGINT): LONGINT;
  607. PROCEDURE windowAltHeightScreen   (p:LONGINT): LONGINT;
  608. CONST windowAltHeightScaled       = -1000;
  609. CONST windowAltLeftEdgeCentered   = -1;
  610. CONST windowAltLeftEdgeMoused     = -2;
  611. CONST windowAltLeftEdgeNoChange   = -1000;
  612. CONST windowAltTopEdgeCentered    = -1;
  613. CONST windowAltTopEdgeMoused      = -2;
  614. PROCEDURE windowAltTopEdgeDelta   (p:LONGINT): LONGINT;
  615. CONST windowAltTopEdgeNoChange    = -1000;
  616. PROCEDURE windowAltWidthMinMax    (p:LONGINT): LONGINT;
  617. PROCEDURE windowAltWidthVisible   (p:LONGINT): LONGINT;
  618. PROCEDURE windowAltWidthScreen    (p:LONGINT): LONGINT;
  619. CONST windowAltWidthScaled        = -1000;
  620. PROCEDURE windowHeightMinMax      (p:LONGINT): LONGINT;
  621. PROCEDURE windowHeightVisible     (p:LONGINT): LONGINT;
  622. PROCEDURE windowHeightScreen      (p:LONGINT): LONGINT;
  623. CONST windowHeightScaled          = -1000;
  624. CONST windowHeightDefault         = -1001;
  625. CONST windowLeftEdgeCentered      = -1;
  626. CONST windowLeftEdgeMoused        = -2;
  627. CONST windowMenuNoMenu            = -1;
  628. CONST windowTopEdgeCentered       = -1;
  629. CONST windowTopEdgeMoused         = -2;
  630. PROCEDURE windowTopEdgeDelta      (p:LONGINT): LONGINT;
  631. PROCEDURE windowWidthMinMax       (p:LONGINT): LONGINT;
  632. PROCEDURE windowWidthVisible      (p:LONGINT): LONGINT;
  633. PROCEDURE windowWidthScreen       (p:LONGINT): LONGINT;
  634. CONST windowWidthScaled           = -1000;
  635. CONST windowWidthDefault          = -1001;
  636.  
  637. TYPE
  638.   EventHandlerFlags     = (alwaysKeys, makeWord = 15); | other values reserved for future use
  639.   EventHandlerFlagSet   = SET OF EventHandlerFlags;
  640.  
  641.   EventHandlerResults   = (eat, makeLong=31);          | return values for MUIM_HandleEvent (bit-masked, all other bits must be 0)
  642.   EventHandlerResultSet = SET OF EventHandlerResults;  | eat = stop MUI from calling other handlers */
  643.  
  644.   EventHandlerNodePtr = POINTER TO EventHandlerNode;
  645.   EventHandlerNode    = RECORD OF MinNode;
  646.               reserved : SHORTINT;              (* don't touch! *)
  647.               priority : SHORTINT;              (* event handlers are inserted according to their priority. *)
  648.               flags    : EventHandlerFlagSet;   (* certain flags, see below for definitions. *)
  649.               object   : Object;                (* object which should receive MUIM_HandleEvent. *)
  650.               class    : IClassPtr;             (* if !=NULL, MUIM_HandleEvent is invoked on exactly this class with CoerceMethod(). *)
  651.               events   : IDCMPFlagSet;          (* one or more IDCMP flags this handler should react on. *)
  652.             END;
  653.  
  654.   WindowActiveObject = (none = 0, next = -1, prev = -2);
  655.  
  656.   WindowTags = TAGS OF ApplicationTags
  657.     windowActivate         = $80428D2F : CBOOLEAN;          |  V4 isg
  658.     windowActiveObject     = $80427925 : Object;            |  V4 .sg
  659.     windowActiveObjectMove = $80427925 : WindowActiveObject;|  V4 .sg
  660.     windowAltHeight        = $8042CCE3 : LONGINT;           |  V4 i.g
  661.     windowAltLeftEdge      = $80422D65 : LONGINT;           |  V4 i.g
  662.     windowAltTopEdge       = $8042E99B : LONGINT;           |  V4 i.g
  663.     windowAltWidth         = $804260F4 : LONGINT;           |  V4 i.g
  664.     windowAppWindow        = $804280CF : CBOOLEAN;          |  V5 i..
  665.     windowBackdrop         = $8042C0BB : CBOOLEAN;          |  V4 i..
  666.     windowBorderless       = $80429B79 : CBOOLEAN;          |  V4 i..
  667.     windowCloseGadget      = $8042A110 : CBOOLEAN;          |  V4 i..
  668.     windowCloseRequest     = $8042E86E : CBOOLEAN;          |  V4 ..g
  669.     windowDefaultObject    = $804294D7 : Object;            |  V4 isg
  670.     windowDepthGadget      = $80421923 : CBOOLEAN;          |  V4 i..
  671.     windowDragBar          = $8042045D : CBOOLEAN;          |  V4 i..
  672.     windowHeight           = $80425846 : LONGINT;           |  V4 i.g
  673.     windowID               = $804201BD : LONGCARD;          |  V4 isg
  674.     windowIDChar           = $804201BD : LongID;            |  V4 isg
  675.     windowInputEvent       = $804247D8 : SysStringPtr;      |  V4 ..g
  676. |   windowInputEvent       = $804247D8 : InputEventPtr;     |  V4 ..g
  677.     windowLeftEdge         = $80426C65 : LONGINT;           |  V4 i.g
  678. |   windowMenu             = $8042DB94 : NewMenuArrPtr;     |  V4 i..
  679.     windowMenuAction       = $80427521 : LONGCARD;          |  V8 isg
  680.     windowMenustrip        = $8042855E : FamilyObject;      |  V8 i..
  681.     windowMouseObject      = $8042BF9B : Object;            | V10 ..g
  682.     windowNeedsMouseObject = $8042372A : CBOOLEAN;          | V10 i..
  683.     windowNoMenus          = $80429DF5 : CBOOLEAN;          |  V4 is.
  684.     windowOpen             = $80428AA0 : CBOOLEAN;          |  V4 .sg
  685.     windowPublicScreen     = $804278E4 : SysStringPtr;      |  V6 isg
  686.     windowRefWindow        = $804201F4 : WindowObject;      |  V4 is.
  687.     windowRootObject       = $8042CBA5 : Object;            |  V4 i..
  688.     windowScreen           = $8042DF4F : ScreenPtr;         |  V4 isg
  689.     windowScreenTitle      = $804234B0 : SysStringPtr;      |  V5 isg
  690.     windowSizeGadget       = $8042E33D : CBOOLEAN;          |  V4 i..
  691.     windowSizeRight        = $80424780 : CBOOLEAN;          |  V4 i..
  692.     windowSleep            = $8042E7DB : CBOOLEAN;          |  V4 .sg
  693.     windowTitle            = $8042AD3D : SysStringPtr;      |  V4 isg
  694.     windowTopEdge          = $80427C66 : LONGINT;           |  V4 i.g
  695.     windowUseBottomBorderScroller = $80424E79 : CBOOLEAN;   | V13 is.
  696.     windowUseLeftBorderScroller   = $8042433E : CBOOLEAN;   | V13 is.
  697.     windowUseRightBorderScroller  = $8042C05E : CBOOLEAN;   | V13 is.
  698.     windowWidth            = $8042DCAE : LONGINT;           |  V4 i.g
  699.     windowWindow           = $80426A42 : WindowPtr;         |  V4 ..g
  700.   END;
  701.  
  702. (* Methods *)
  703.  
  704. CONST
  705.   mWindowAddEventHandler       = MethodID($804203B7); | V16
  706. | mWindowGetMenuCheck          = MethodID($80420414); | V4
  707. | mWindowGetMenuState          = MethodID($80420D2F); | V4
  708.   mWindowRemEventHandler       = MethodID($8042679E); | V16
  709.   mWindowScreenToBack          = MethodID($8042913D); | V4
  710.   mWindowScreenToFront         = MethodID($804227A4); | V4
  711. | mWindowSetCycleChain         = MethodID($80426510); | V4
  712. | mWindowSetMenuCheck          = MethodID($80422243); | V4
  713. | mWindowSetMenuState          = MethodID($80422B5E); | V4
  714.   mWindowToBack                = MethodID($8042152E); | V4
  715.   mWindowToFront               = MethodID($8042554F); | V4
  716.  
  717.  
  718. (* Parameter *)
  719.  
  720. TYPE
  721.   pWindowAddEventHandlerPtr    = POINTER TO pWindowAddEventHandler;
  722.   pWindowAddEventHandler       = RECORD OF MsgRoot; ehnode : EventHandlerNodePtr END;
  723.  
  724. | pWindowGetMenuCheckPtr       = POINTER TO pWindowGetMenuCheck;
  725. | pWindowGetMenuCheck          = RECORD OF MsgRoot; menuID : LONGINT END;
  726.  
  727. | pWindowGetMenuStatePtr       = POINTER TO pWindowGetMenuState;
  728. | pWindowGetMenuState          = RECORD OF MsgRoot; menuID : LONGINT END;
  729.  
  730.   pWindowRemEventHandlerPtr    = POINTER TO pWindowRemEventHandler;
  731.   pWindowRemEventHandler       = pWindowAddEventHandler;
  732.  
  733. | pWindowSetCycleChainPtr      = POINTER TO pWindowSetCycleChain;
  734. | pWindowSetCycleChain         = RECORD OF MsgRoot; END  | object list is appended
  735.  
  736. | pWindowSetMenuCheckPtr       = POINTER TO pWindowSetMenuCheck;
  737. | pWindowSetMenuCheck          = RECORD OF MsgRoot; menuID, set : LONGINT END;
  738.  
  739. | pWindowSetMenuStatePtr       = POINTER TO pWindowSetMenuState;
  740. | pWindowSetMenuState          = RECORD OF MsgRoot; menuID, set : LONGINT END;
  741.  
  742.   METHOD ScreenToBack  (o : WindowObject);
  743.   METHOD ScreenToFront (o : WindowObject);
  744.   METHOD ToBack        (o : WindowObject);
  745.   METHOD ToFront       (o : WindowObject);
  746. | METHOD GetMenuCheck  (o : WindowObject; menuID : LONGINT);
  747. | METHOD GetMenuState  (o : WindowObject; menuID : LONGINT);
  748. | METHOD SetMenuCheck  (o : WindowObject; menuID : LONGINT; set : LONGINT);
  749. | METHOD SetMenuState  (o : WindowObject; menuID : LONGINT; set : LONGINT);
  750. | METHOD SetCycleChain (o : WindowObject; obj : LIST OF Object);
  751.  
  752.  
  753. (****************************************************************************)
  754. (** Area                                                                   **)
  755. (****************************************************************************)
  756.  
  757. CONST cArea  = "Area.mui";
  758.  
  759. (* Attributes *)
  760.  
  761. TYPE
  762.   Fonts = (big = -6, title, fixed, tiny, list, normal, inherit);
  763.  
  764.   Frames = (none, button, imageButton, text,  string,  readList, inputList,
  765.         prop, gauge,  group,       popUp, virtual, slider,   count);
  766.  
  767.   InputModes = (none, relVerify, immediate, toggle);
  768.  
  769.   AreaTags = TAGS OF WindowTags
  770.     applicationObject      = $8042D3EE : ApplicationObject; |  V4 ..g
  771.     background             = $8042545B : StandardImages;    |  V4 is.
  772.     bottomEdge             = $8042E552 : LONGINT;           |  V4 ..g
  773.     contextMenu            = $8042B704 : Object;            | V11 isg
  774.     contextMenuTrigger     = $8042A2C1 : Object;            | V11 ..g
  775.     controlChar            = $8042120B : LONGCHAR;          |  V4 i..
  776.     cycleChain             = $80421CE7 : LONGINT;           | V11 isg
  777.     disabled               = $80423661 : CBOOLEAN;          |  V4 isg
  778.     draggable              = $80420B6E : CBOOLEAN;          | V11 isg
  779.     dropable               = $8042FBCE : CBOOLEAN;          | V11 isg
  780. |   exportID               = $8042D76E : LONGINT;           |  V4 isg
  781.     fixHeight              = $8042A92B : LONGINT;           |  V4 i..
  782.     fixHeightTxt           = $804276F2 : SysStringPtr;      |  V4 i..
  783.     fixWidth               = $8042A3F1 : LONGINT;           |  V4 i..
  784.     fixWidthTxt            = $8042D044 : SysStringPtr;      |  V4 i..
  785.     font                   = $8042BE50 : TextFontPtr;       |  V4 i.g
  786.     fontDefault            = $8042BE50 : Fonts;             |  V4 i.g
  787.     frame                  = $8042AC64 : Frames;            |  V4 i..
  788.     framePhantomHoriz      = $8042ED76 : CBOOLEAN;          |  V4 i..
  789.     frameTitle             = $8042D1C7 : SysStringPtr;      |  V4 i..
  790.     height                 = $80423237 : LONGINT;           |  V4 ..g
  791.     horizDisappear         = $80429615 : LONGINT;           | V11 isg
  792.     horizWeight            = $80426DB9 : LONGINT;           |  V4 i..
  793.     innerBottom            = $8042F2C0 : LONGINT;           |  V4 i..
  794.     innerLeft              = $804228F8 : LONGINT;           |  V4 i..
  795.     innerRight             = $804297FF : LONGINT;           |  V4 i..
  796.     innerTop               = $80421EB6 : LONGINT;           |  V4 i..
  797.     inputMode              = $8042FB04 : InputModes;        |  V4 i..
  798.     leftEdge               = $8042BEC6 : LONGINT;           |  V4 ..g
  799.     maxHeight              = $804293E4 : LONGINT;           | V11 i..
  800.     maxWidth               = $8042F112 : LONGINT;           | V11 i..
  801.     objectID               = $8042D76E : LONGCARD;          | V11 isg
  802.     pressed                = $80423535 : CBOOLEAN;          |  V4 ..g
  803.     rightEdge              = $8042BA82 : LONGINT;           |  V4 ..g
  804.     selected               = $8042654B : CBOOLEAN;          |  V4 isg
  805.     shortHelp              = $80428FE3 : SysStringPtr;      | V11 isg
  806.     showMe                 = $80429BA8 : CBOOLEAN;          |  V4 isg
  807.     showSelState           = $8042CAAC : CBOOLEAN;          |  V4 i..
  808.     timer                  = $80426435 : LONGINT;           |  V4 ..g
  809.     topEdge                = $8042509B : LONGINT;           |  V4 ..g
  810.     vertDisappear          = $8042D12F : LONGINT;           | V11 isg
  811.     vertWeight             = $804298D0 : LONGINT;           |  V4 i..
  812.     weight                 = $80421D1F : LONGINT;           |  V4 i..
  813.     width                  = $8042B59C : LONGINT;           |  V4 ..g
  814.     window                 = $80421591 : WindowPtr;         |  V4 ..g
  815.     windowObject           = $8042669E : WindowObject;      |  V4 ..g
  816.   END;
  817.  
  818. (* Methods *)
  819.  
  820. CONST
  821.   mAskMinMax         = MethodID($80423874); | V4  (* Custom Class *)
  822.   mCleanup           = MethodID($8042D985); | V4  (* Custom Class *)
  823.   mDraw              = MethodID($80426F3F); | V4  (* Custom Class *)
  824.   mDrawBackground    = MethodID($804238CA); | V11
  825.   mHandleInput       = MethodID($80422A1A); | V4  (* Custom Class *)
  826.   mHandleEvent       = MethodID($80426D66); | V16 (* Custom Class *)
  827.   mHide              = MethodID($8042F20F); | V4  (* Custom Class *)
  828.   mSetup             = MethodID($80428354); | V4  (* Custom Class *)
  829.   mShow              = MethodID($8042CC84); | V4  (* Custom Class *)
  830.  
  831.   mContextMenuBuild  = MethodID($80429D2E); | V11
  832.   mContextMenuChoice = MethodID($80420F0E); | V11
  833.   mDragBegin         = MethodID($8042C03A); | V11
  834.   mDragDrop          = MethodID($8042C555); | V11
  835.   mDragFinish        = MethodID($804251F0); | V11
  836.   mDragQuery         = MethodID($80420261); | V11
  837.   mDragReport        = MethodID($8042EDAD); | V11
  838.  
  839. (* Parameter *)
  840.  
  841. TYPE
  842.   (* User configurable keyboard events coming with mHandleInput *)
  843.   MuiKeys =
  844.     (release     = -2, (* not a real key, faked when wenn keyPress is released *)
  845.      none        = -1,
  846.      press,       toggle,
  847.      up,          down,
  848.      pageUp,      pageDown,
  849.      top,         bottom,
  850.      left,        right,
  851.      wordLeft,    wordRight,
  852.      lineStart,   lineEnd,
  853.      gadgetNext,  gadgetPrev, gadgetOff,
  854.      windowClose, windowNext, windowPrev,
  855.      help);
  856.  
  857.   pAskMinMaxPtr         = POINTER TO pAskMinMax;
  858.   pAskMinMax            = RECORD OF MsgRoot; minMax : MinMaxPtr END;
  859.  
  860.   pDrawPtr              = POINTER TO pDraw;
  861.   pDraw                 = RECORD OF MsgRoot; flags : AreaDataFlagSet END;
  862.  
  863.   pDrawBackgroundPtr    = POINTER TO pDrawBackground;
  864.   pDrawBackground       = RECORD OF MsgRoot; left, top, width, height, xoffset, yoffset : LONGINT; flags : LONGSET END;
  865.  
  866.   pHandleEventPtr       = POINTER TO pHandleEvent;
  867.   pHandleEvent          = RECORD OF MsgRoot; imsg : IntuiMessagePtr; muikey : MuiKeys END;
  868.  
  869.   pHandleInputPtr       = POINTER TO pHandleInput;
  870.   pHandleInput          = RECORD OF MsgRoot;
  871.                 imsg   : Intuition.IntuiMessagePtr;
  872.                 muikey : MuiKeys;
  873.               END;
  874.  
  875.   pSetUpPtr             = POINTER TO pSetUp;
  876.   pSetUp                = RECORD OF MsgRoot; renderInfo : RenderInfoPtr END;
  877.  
  878.  
  879.   pContextMenuBuildPtr  = POINTER TO pContextMenuBuild;
  880.   pContextMenuBuild     = RECORD OF MsgRoot; mx, my : LONGINT END;
  881.  
  882.   pContextMenuChoicePtr = POINTER TO pContextMenuChoice;
  883.   pContextMenuChoice    = RECORD OF MsgRoot; item : Object END;
  884.  
  885.  
  886.   DragQuery  = (refuse, accept);
  887.   DragReport = (abort, continue, lock, refresh);
  888.  
  889.   pDragBeginPtr         = POINTER TO pDragBegin;
  890.   pDragDropPtr          = POINTER TO pDragDrop;
  891.   pDragFinishPtr        = POINTER TO pDragFinish;
  892.   pDragQueryPtr         = POINTER TO pDragQuery;
  893.   pDragReportPtr        = POINTER TO pDragReport;
  894.  
  895.   pDrag                 = RECORD OF MsgRoot; obj : Object; END;
  896.   pDragBegin            = RECORD OF pDrag; END;
  897.   pDragDrop             = RECORD OF pDrag; x, y : LONGINT END;
  898.   pDragFinish           = RECORD OF pDrag; END;
  899.   pDragQuery            = RECORD OF pDrag; END;
  900.   pDragReport           = RECORD OF pDrag; x, y : LONGINT; update : LONGINT END;
  901.  
  902.   METHOD Cleanup     (o : AreaObject);
  903.   METHOD Hide        (o : AreaObject);
  904.   METHOD Show        (o : AreaObject);
  905.   METHOD AskMinMax   (o : AreaObject; VAR minMax : MinMax);
  906.   METHOD Draw        (o : AreaObject;     flags  : AreaDataFlagSet);
  907.   METHOD HandleInput (o : AreaObject;     imsg   : IntuiMessagePtr; muikey : MuiKeys);
  908.   METHOD SetUp       (o : AreaObject; renderInfo : RenderInfoPtr );
  909.  
  910. | METHOD DisplayBeep (o : AreaObject);  | not really a MUI method
  911.  
  912. (****************************************************************************)
  913. (** String                                                                 **)
  914. (****************************************************************************)
  915.  
  916. CONST cString  = "String.mui";
  917.  
  918. TYPE StringFormat = (left, center, right);
  919.  
  920. (* Attributes *)
  921.  
  922. TYPE
  923.   StringTags = TAGS OF AreaTags
  924.   END;
  925.  
  926.  
  927. (****************************************************************************)
  928. (** Prop                                                                   **)
  929. (****************************************************************************)
  930.  
  931. CONST cProp  = "Prop.mui";
  932.  
  933. TYPE
  934.   WinBorders    = (none, left, right, bottom);
  935.  
  936. (* Attributes *)
  937.  
  938. | see below
  939.  
  940. (* Methods *)
  941.  
  942. CONST
  943.   mPropDecrease                = MethodID($80420DD1); | V16
  944.   mPropIncrease                = MethodID($8042CAC0); | V16
  945.  
  946. (* Parameters *)
  947.  
  948. TYPE
  949.   pPropDecreasePtr             = POINTER TO pPropDecrease;
  950.   pPropDecrease                = RECORD OF MsgRoot; amount : LONGINT END;
  951.   pPropIncreasePtr             = POINTER TO pPropIncrease;
  952.   pPropIncrease                = pPropDecrease;
  953.  
  954.  
  955. (****************************************************************************)
  956. (** List                                                                   **)
  957. (****************************************************************************)
  958.  
  959. CONST
  960.   cList  = "List.mui";
  961.  
  962. (* Attributes *)
  963.  
  964. CONST
  965.   listInsertTop        =  0;
  966.   listInsertActive     = -1;
  967.   listInsertSorted     = -2;
  968.   listInsertBottom     = -3;
  969.  
  970.   listRemoveFirst      =  0;
  971.   listRemoveActive     = -1;
  972.   listRemoveLast       = -2;
  973.  
  974.   listGetEntryActive   = -1;
  975.   listSelectActive     = -1;
  976.   listSelectAll        = -2;
  977.  
  978.   listRedrawActive     = -1;
  979.   listRedrawAll        = -2;
  980.  
  981.   listMoveTop          =  0;
  982.   listMoveActive       = -1;
  983.   listMoveBottom       = -2;
  984.   listMoveNext         = -3; (* only valid for second parameter *)
  985.   listMovePrevious     = -4; (* only valid for second parameter *)
  986.  
  987.   listExchangeTop      =  0;
  988.   listExchangeActive   = -1;
  989.   listExchangeBottom   = -2;
  990.   listExchangeNext     = -3; (* only valid for second parameter *)
  991.   listExchangePrevious = -4; (* only valid for second parameter *)
  992.  
  993.   listJumpTop          =  0;
  994.   listJumpActive       = -1;
  995.   listJumpBottom       = -2;
  996.  
  997.   listNextSelectedStart   = -1;
  998.   listNextSelectedEnd     = -1;
  999.  
  1000.   listCopyHookString      = HookPtr(-1);
  1001.   listConstructHookString = HookPtr(-1);
  1002.   listDestructHookString  = HookPtr(-1);
  1003.  
  1004. TYPE
  1005.   ListCursorTypes = (none, bar, rect);
  1006.   ListActive      = (pageDown = -7, pageUp, down, up, bottom, top, off);
  1007.  
  1008.   ListTags = TAGS OF StringTags
  1009.     listActive             = $8042391C : LONGINT;           |  V4 isg
  1010.     listActiveMove         = $8042391C : ListActive;        |  V4 isg
  1011.     listAdjustHeight       = $8042850D : CBOOLEAN;          |  V4 i..
  1012.     listAdjustWidth        = $8042354A : CBOOLEAN;          |  V4 i..
  1013.     listAutoVisible        = $8042A445 : CBOOLEAN;          | V11 isg
  1014.     listCompareHook        = $80425C14 : HookPtr;           |  V4 is.
  1015.     listConstructHook      = $8042894F : HookPtr;           |  V4 is.
  1016.     listDestructHook       = $804297CE : HookPtr;           |  V4 is.
  1017.     listDisplayHook        = $8042B4D5 : HookPtr;           |  V4 is.
  1018.     listDragSortable       = $80426099 : CBOOLEAN;          | V11 isg
  1019.     listDropMark           = $8042ABA6 : LONGINT;           | V11 ..g
  1020.     listEntries            = $80421654 : LONGINT;           |  V4 ..g
  1021.     listFirst              = $804238D4 : LONGINT;           |  V4 ..g
  1022.     listFormat             = $80423C0A : SysStringPtr;      |  V4 isg
  1023.     listInsertPosition     = $8042D0CD : LONGINT;           |  V9 ..g
  1024.     listMultiTestHook      = $8042C2C6 : HookPtr;           |  V4 is.
  1025.     listPool               = $80423431 : PoolHeaderPtr;     | V13 i..
  1026.     listPoolPuddleSize     = $8042A4EB : LONGCARD;          | V13 i..
  1027.     listPoolThreshSize     = $8042C48C : LONGCARD;          | V13 i..
  1028.     listQuiet              = $8042D8C7 : CBOOLEAN;          |  V4 .s.
  1029.     listShowDropMarks      = $8042C6F3 : CBOOLEAN;          | V11 isg
  1030.     listSourceArray        = $8042C0A0 : ANYPTR;            |  V4 i..
  1031.     listTitle              = $80423E66 : SysStringPtr;      |  V6 isg
  1032.     listTitleMultiColumn   = $80423E66 : CBOOLEAN;          |  V6 isg
  1033.     listVisible            = $8042191F : LONGINT;           |  V4 ..g
  1034.   END;
  1035.  
  1036. (* Methods *)
  1037.  
  1038. CONST
  1039.   mListClear         = MethodID($8042AD89); | V4
  1040.   mListCreateImage   = MethodID($80429804); | V11
  1041.   mListDeleteImage   = MethodID($80420F58); | V11
  1042.   mListExchange      = MethodID($8042468C); | V4
  1043.   mListGetEntry      = MethodID($804280EC); | V4
  1044.   mListInsert        = MethodID($80426C87); | V4
  1045.   mListInsertSingle  = MethodID($804254D5); | V7
  1046.   mListJump          = MethodID($8042BAAB); | V4
  1047.   mListMove          = MethodID($804253C2); | V9
  1048.   mListNextSelected  = MethodID($80425F17); | V6
  1049.   mListRedraw        = MethodID($80427993); | V4
  1050.   mListRemove        = MethodID($8042647E); | V4
  1051.   mListSelect        = MethodID($804252D8); | V4
  1052.   mListSort          = MethodID($80422275); | V4
  1053.   mListTestPos       = MethodID($80425F48); | V11
  1054.  
  1055. (* Parameters *)
  1056.  
  1057. TYPE
  1058.   ListCreateImageFlagSet = SET OF [32];  | currently not used
  1059.   pListCreateImagePtr = POINTER TO pListCreateImage;
  1060.   pListCreateImage    = RECORD OF MsgRoot; obj : Object; flags : ListCreateImageFlagSet END;
  1061.   pListDeleteImagePtr = POINTER TO pListDeleteImage;
  1062.   pListDeleteImage    = RECORD OF MsgRoot; listimg : ANYPTR END;
  1063.  
  1064.   pListExchangePtr    = POINTER TO pListExchange;
  1065.   pListExchange       = RECORD OF MsgRoot; pos1, pos2 : LONGINT END;
  1066.  
  1067.   pListGetEntryPtr    = POINTER TO pListGetEntry;
  1068.   pListGetEntry       = RECORD OF MsgRoot; pos : LONGINT; entry : ANYPTR END;
  1069.  
  1070.   AnyptrArrayPtr      = ANYPTR;  | actually POINTER TO ARRAY OF ANYPTR
  1071.   pListInsertPtr      = POINTER TO pListInsert;
  1072.   pListInsert         = RECORD OF MsgRoot;
  1073.               entries : AnyptrArrayPtr;
  1074.               count   : LONGINT;
  1075.               pos     : LONGINT;
  1076.             END;
  1077.  
  1078.   pListInsertSinglePtr = POINTER TO pListInsertSingle;
  1079.   pListInsertSingle    = RECORD OF MsgRoot;
  1080.                entry : ANYPTR;
  1081.                pos   : LONGINT;
  1082.              END;
  1083.  
  1084.   pListJumpPtr         = POINTER TO pListJump;
  1085.   pListJump            = RECORD OF MsgRoot; pos : LONGINT END;
  1086.  
  1087.   pListMovePtr         = POINTER TO pListMove;
  1088.   pListMove            = RECORD OF MsgRoot; from, to : LONGINT END;
  1089.  
  1090.   pListNextSelectedPtr = POINTER TO pListNextSelected;
  1091.   pListNextSelected    = RECORD OF MsgRoot; pos : POINTER TO LONGINT END;
  1092.  
  1093.   pListRedrawPtr       = POINTER TO pListRedraw;
  1094.   pListRedraw          = pListJump;
  1095.  
  1096.   pListRemovePtr       = POINTER TO pListRemove;
  1097.   pListRemove          = pListJump;
  1098.  
  1099.   ListSelect           = (off, on, toggle, ask, makeLong = 31);
  1100.   pListSelectPtr       = POINTER TO pListSelect;
  1101.   pListSelect          = RECORD OF MsgRoot;
  1102.                pos     : LONGINT;
  1103.                selType : ListSelect;
  1104.                state   : POINTER TO LONGINT;
  1105.              END;
  1106.  
  1107.   ListTestPosFlags     = (above, below, left, right, makeWord = 15);
  1108.   ListTestPosFlagSet   = SET OF ListTestPosFlags;
  1109.  
  1110.   ListTestPosResultPtr = POINTER TO ListTestPosResult;
  1111.   ListTestPosResult    = RECORD
  1112.                entry   : LONGINT;               (* number of entry, -1 if mouse not over valid entry *)
  1113.                column  : INTEGER;               (* numer of column, -1 if no valid column *)
  1114.                flags   : ListTestPosFlagSet;    (* see above *)
  1115.                xoffset,                         (* currently unused *)
  1116.                yoffset : INTEGER;               (* y offset of mouse click from center of line
  1117.                                                (negative values mean click was above center,
  1118.                                                 positive values mean click was below center) *)
  1119.              END ;
  1120.  
  1121.   pListTestPosPtr      = POINTER TO pListTestPos;
  1122.   pListTestPos         = RECORD OF MsgRoot; x, y : LONGINT; res : ListTestPosResultPtr END;
  1123.  
  1124.   METHOD Clear        (o : ListObject);
  1125.   METHOD Sort         (o : ListObject);
  1126.   METHOD DirlistReRead(o : ListObject);
  1127.   METHOD Exchange     (o : ListObject; pos1, pos2 : LONGINT);
  1128.   METHOD GetEntry     (o : ListObject; pos : LONGINT; VAR entry   : ANYPTR);
  1129.   METHOD Insert       (o : ListObject; pos : LONGINT;     entries : AnyptrArrayPtr; count : LONGINT := -1 );           | REF entries : ARRAY OF ANYPTR);
  1130.   METHOD InsertSingle (o : ListObject; pos : LONGINT;     entry   : ANYPTR);
  1131.   METHOD Jump         (o : ListObject; pos : LONGINT);
  1132.   METHOD Move         (o : ListObject; from, to : LONGINT);
  1133.   METHOD NextSelected (o : ListObject; VAR pos : LONGINT);
  1134.   METHOD Redraw       (o : ListObject; pos : LONGINT);
  1135.   METHOD Remove       (o : ListObject; pos : LONGINT);
  1136.   METHOD Select       (o : ListObject; pos : LONGINT; selType : ListSelect; VAR state : LONGINT);
  1137.  
  1138.  
  1139. (****************************************************************************)
  1140. (** Listview                                                               **)
  1141. (****************************************************************************)
  1142.  
  1143. CONST
  1144.   cListview  = "Listview.mui";
  1145.  
  1146. (* Attributes *)
  1147.  
  1148. TYPE
  1149.   ListViewMultiSelect = (none, default, shifted, always);
  1150.   ListViewScrollerPos = (default, left, right);
  1151.   ListViewDragTypes   = (none, immediate);
  1152.  
  1153.   ListviewTags = TAGS OF ListTags
  1154.     scrollbarType          = $8042FB6B : ScrollbarTypes;    | V11 i..
  1155.     listviewClickColumn    = $8042D1B3 : LONGINT;           |  V7 ..g
  1156.     listviewDefClickColumn = $8042B296 : LONGINT;           |  V7 isg
  1157.     listviewDoubleClick    = $80424635 : CBOOLEAN;          |  V4 i.g
  1158.     listviewDragType       = $80425CD3 : ListViewDragTypes; | V11 isg
  1159.     listviewInput          = $8042682D : CBOOLEAN;          |  V4 i..
  1160.     listviewList           = $8042BCCE : ListObject;        |  V4 i..
  1161.     listviewMultiSelect    = $80427E08 : ListViewMultiSelect; | V7 i..
  1162.     listviewSelectChange   = $8042178F : CBOOLEAN;          |  V4 ..g
  1163.     listviewScrollerPos    = $8042B1B4 : ListViewScrollerPos; | V10 i..
  1164.   END;
  1165.  
  1166. (****************************************************************************)
  1167. (** Dirlist                                                                **)
  1168. (****************************************************************************)
  1169.  
  1170. CONST
  1171.   cDirlist  = "Dirlist.mui";
  1172.  
  1173. (* Attributes *)
  1174.  
  1175. TYPE
  1176.   DirlistSortDirs  = (first, last, mix);
  1177.   DirlistSortTypes = (name,  date, size);
  1178.   DirlistStatus    = (invalid, reading, valid);
  1179.  
  1180.   DirlistTags = TAGS OF ListviewTags
  1181.     dirlistAcceptPattern   = $8042760A : SysStringPtr;      |  V4 is.
  1182.     dirlistDirectory       = $8042EA41 : SysStringPtr;      |  V4 is.
  1183.     dirlistDrawersOnly     = $8042B379 : CBOOLEAN;          |  V4 is.
  1184.     dirlistFilesOnly       = $8042896A : CBOOLEAN;          |  V4 is.
  1185.     dirlistFilterDrawers   = $80424AD2 : CBOOLEAN;          |  V4 is.
  1186.     dirlistFilterHook      = $8042AE19 : HookPtr;           |  V4 is.
  1187.     dirlistMultiSelDirs    = $80428653 : CBOOLEAN;          |  V6 is.
  1188.     dirlistNumBytes        = $80429E26 : LONGINT;           |  V4 ..g
  1189.     dirlistNumDrawers      = $80429CB8 : LONGINT;           |  V4 ..g
  1190.     dirlistNumFiles        = $8042A6F0 : LONGINT;           |  V4 ..g
  1191.     dirlistPath            = $80426176 : SysStringPtr;      |  V4 ..g
  1192.     dirlistRejectIcons     = $80424808 : CBOOLEAN;          |  V4 is.
  1193.     dirlistRejectPattern   = $804259C7 : SysStringPtr;      |  V4 is.
  1194.     dirlistSortDirs        = $8042BBB9 : DirlistSortDirs;   |  V4 is.
  1195.     dirlistSortHighLow     = $80421896 : CBOOLEAN;          |  V4 is.
  1196.     dirlistSortType        = $804228BC : DirlistSortTypes;  |  V4 is.
  1197.     dirlistStatus          = $804240DE : DirlistStatus;     |  V4 ..g
  1198.   END;
  1199.  
  1200. (* Methods *)
  1201.  
  1202. CONST
  1203.   mDirlistReRead  = MethodID($80422D71); | V4
  1204.  
  1205.  
  1206. (****************************************************************************)
  1207. (** Numeric                                                                **)
  1208. (****************************************************************************)
  1209.  
  1210. CONST
  1211.   cNumeric = "Numeric.mui";
  1212.  
  1213. (* Attributes *)
  1214.  
  1215. TYPE
  1216.   NumericTags = TAGS OF DirlistTags
  1217.     numericDefault         = $804263E8 : LONGINT;           | V11 isg
  1218.     numericFormat          = $804263E9 : SysStringPtr;      | V11 isg
  1219.     numericMax             = $8042D78A : LONGINT;           | V11 isg
  1220.     numericMin             = $8042E404 : LONGINT;           | V11 isg
  1221.     numericReverse         = $8042F2A0 : CBOOLEAN;          | V11 isg
  1222.     numericRevLeftRight    = $804294A7 : CBOOLEAN;          | V11 isg
  1223.     numericRevUpDown       = $804252DD : CBOOLEAN;          | V11 isg
  1224.     numericValue           = $8042AE3A : LONGINT;           | V11 isg
  1225.   END;
  1226.  
  1227. (* Methods *)
  1228.  
  1229. CONST
  1230.   mNumericDecrease             = MethodID($804243A7); | V11
  1231.   mNumericIncrease             = MethodID($80426ECD); | V11
  1232.   mNumericScaleToValue         = MethodID($8042032C); | V11
  1233.   mNumericSetDefault           = MethodID($8042AB0A); | V11
  1234.   mNumericStringify            = MethodID($80424891); | V11
  1235.   mNumericValueToScale         = MethodID($80423E4F); | V11
  1236.  
  1237. TYPE
  1238.   pNumericDecrease             = RECORD OF MsgRoot; amount : LONGINT END;
  1239.   pNumericIncrease             = pNumericDecrease;
  1240.   pNumericScaleToValue         = RECORD OF MsgRoot; scalemin, scalemax, scale : LONGINT END;
  1241.   pNumericSetDefault           = RECORD OF MsgRoot; END;
  1242.   pNumericStringify            = RECORD OF MsgRoot; value : LONGINT END;
  1243.   pNumericValueToScale         = RECORD OF MsgRoot; scalemin, scalemax : LONGINT END;
  1244.  
  1245. (****************************************************************************)
  1246. (** Pendisplay                                                             **)
  1247. (****************************************************************************)
  1248.  
  1249. CONST
  1250.   cPendisplay  = "Pendisplay.mui";
  1251.  
  1252. (* Attributes *)
  1253.  
  1254. | see below
  1255.  
  1256. (* Methods *)
  1257.  
  1258. CONST
  1259.   mPendisplaySetColormap        = MethodID($80426C80); | V13
  1260.   mPendisplaySetMUIPen          = MethodID($8042039D); | V13
  1261.   mPendisplaySetRGB             = MethodID($8042C131); | V13
  1262.  
  1263. (* Parameters *)
  1264.  
  1265. TYPE
  1266.   pPendisplaySetColormapPtr     = POINTER TO pPendisplaySetColormap;
  1267.   pPendisplaySetColormap        = RECORD OF MsgRoot; colormap : LONGINT END;
  1268.   pPendisplaySetMUIPenPtr       = POINTER TO pPendisplaySetMUIPen;
  1269.   pPendisplaySetMUIPen          = RECORD OF MsgRoot; muipen : MuiPens END;
  1270.   pPendisplaySetRGBPtr          = POINTER TO pPendisplaySetRGB;
  1271.   pPendisplaySetRGB             = RECORD OF MsgRoot; red, green, blue : LONGCARD END;
  1272.  
  1273.  
  1274. (****************************************************************************)
  1275. (** Group                                                                  **)
  1276. (****************************************************************************)
  1277.  
  1278. CONST
  1279.   cGroup = "Group.mui";
  1280.  
  1281. (* Attributes *)
  1282.  
  1283. TYPE
  1284.   GroupTags = TAGS OF NumericTags
  1285.     groupActivePage        = $80424199 : LONGINT;           |  V5 isg
  1286.     groupChild             = $804226E6 : AreaObject;        |  V4 i..
  1287.     groupChildList         = $80424748 : ListPtr;           |  V4 ..g
  1288.     groupColumns           = $8042F416 : LONGINT;           |  V4 is.
  1289.     groupHoriz             = $8042536B : CBOOLEAN;          |  V4 i..
  1290.     groupHorizSpacing      = $8042C651 : LONGINT;           |  V4 is.
  1291.     groupLayoutHook        = $8042C3B2 : HookPtr;           | V11 i..
  1292.     groupPageMode          = $80421A5F : CBOOLEAN;          |  V5 is.
  1293.     groupRows              = $8042B68F : LONGINT;           |  V4 is.
  1294.     groupSameHeight        = $8042037E : CBOOLEAN;          |  V4 i..
  1295.     groupSameSize          = $80420860 : CBOOLEAN;          |  V4 i..
  1296.     groupSameWidth         = $8042B3EC : CBOOLEAN;          |  V4 i..
  1297.     groupSpacing           = $8042866D : LONGINT;           |  V4 is.
  1298.     groupVertSpacing       = $8042E1BF : LONGINT;           |  V4 is.
  1299.  
  1300.     registerFrame          = $8042349B : CBOOLEAN;          |  V7 i.g
  1301.     registerTitles         = $804297EC : StringArrPtr;      |  V7 i.g
  1302.  
  1303.     penadjustPSIMode       = $80421CBB : CBOOLEAN;          | V11 i..
  1304.  
  1305.     virtgroupInput         = $80427F7E : CBOOLEAN;          | V11 i..
  1306.     virtgroupHeight        = $80423038 : LONGINT;           |  V6 ..g
  1307.     virtgroupLeft          = $80429371 : LONGINT;           |  V6 isg
  1308.     virtgroupTop           = $80425200 : LONGINT;           |  V6 isg
  1309.     virtgroupWidth         = $80427C49 : LONGINT;           |  V6 ..g
  1310.  
  1311.     scrollgroupContents    = $80421261 : Object;            |  V4 i..
  1312.     scrollgroupFreeHoriz   = $804292F3 : CBOOLEAN;          |  V9 i..
  1313.     scrollgroupFreeVert    = $804224F2 : CBOOLEAN;          |  V9 i..
  1314.     scrollgroupUseWinBorder= $804284C1 : CBOOLEAN;          | V13 i..
  1315.   END;
  1316.  
  1317. (* Methods *)
  1318.  
  1319. CONST
  1320.   mGroupExitChange             = MethodID($8042D1CC); | V11
  1321.   mGroupInitChange             = MethodID($80420887); | V11
  1322.  
  1323. TYPE
  1324.   pGroupExitChange             = RECORD OF MsgRoot END;
  1325.   pGroupInitChange             = RECORD OF MsgRoot END;
  1326.  
  1327.   METHOD ExitChange (o : GroupObject);
  1328.   METHOD InitChange (o : GroupObject);
  1329.  
  1330. (****************************************************************************)
  1331. (** Settingsgroup                                                          **)
  1332. (****************************************************************************)
  1333.  
  1334. CONST
  1335.   cSettingsgroup = "Settingsgroup.mui";
  1336.  
  1337. (* Attributes *)
  1338.  
  1339. | not available
  1340.  
  1341. (* Methods *)
  1342.  
  1343. CONST
  1344.   mSettingsgroupConfigToGadgets    = MethodID($80427043); | V11
  1345.   mSettingsgroupGadgetsToConfig    = MethodID($80425242); | V11
  1346.  
  1347. (* Parameters *)
  1348.  
  1349. TYPE
  1350.   pSettingsgroupConfigToGadgetsPtr = POINTER TO pSettingsgroupConfigToGadgets;
  1351.   pSettingsgroupConfigToGadgets    = RECORD OF MsgRoot; configdata : Object END;
  1352.   pSettingsgroupGadgetsToConfigPtr = POINTER TO pSettingsgroupGadgetsToConfig;
  1353.   pSettingsgroupGadgetsToConfig    = RECORD OF MsgRoot; configdata : Object END;
  1354.  
  1355.  
  1356. (****************************************************************************)
  1357. (** Semaphore                                                              **)
  1358. (****************************************************************************)
  1359.  
  1360. CONST
  1361.   cSemaphore = "Semaphore.mui";
  1362.  
  1363. (* Attributes *)
  1364.  
  1365. TYPE
  1366.   SemaphoreTags = TAGS OF GroupTags
  1367.   END;
  1368.  
  1369. (* Methods *)
  1370.  
  1371. CONST
  1372.   mSemaphoreAttempt            = MethodID($80426CE2); | V11
  1373.   mSemaphoreAttemptShared      = MethodID($80422551); | V11
  1374.   mSemaphoreObtain             = MethodID($804276F0); | V11
  1375.   mSemaphoreObtainShared       = MethodID($8042EA02); | V11
  1376.   mSemaphoreRelease            = MethodID($80421F2D); | V11
  1377.  
  1378. TYPE
  1379.   pSemaphoreAttempt            = RECORD OF MsgRoot END;
  1380.   pSemaphoreAttemptShared      = RECORD OF MsgRoot END;
  1381.   pSemaphoreObtain             = RECORD OF MsgRoot END;
  1382.   pSemaphoreObtainShared       = RECORD OF MsgRoot END;
  1383.   pSemaphoreRelease            = RECORD OF MsgRoot END;
  1384.  
  1385. (****************************************************************************)
  1386. (** Dataspace                                                              **)
  1387. (****************************************************************************)
  1388.  
  1389. CONST
  1390.   cDataspace = "Dataspace.mui";
  1391.  
  1392. (* Attributes *)
  1393.  
  1394. TYPE
  1395.   DataspaceTags = TAGS OF SemaphoreTags
  1396.     dataspacePool          = $80424CF9 : PoolHeaderPtr;     | V11 i..
  1397.   END;
  1398.  
  1399. (* Methods *)
  1400.  
  1401. CONST
  1402.   mDataspaceAdd                = MethodID($80423366); | V11
  1403.   mDataspaceClear              = MethodID($8042B6C9); | V11
  1404.   mDataspaceMerge              = MethodID($80423E2B); | V11
  1405.   mDataspaceReadIFF            = MethodID($80420DFB); | V11
  1406.   mDataspaceRemove             = MethodID($8042DCE1); | V11
  1407.   mDataspaceWriteIFF           = MethodID($80425E8E); | V11
  1408.  
  1409. TYPE
  1410.   pDataspaceAdd                = RECORD OF MsgRoot; data : ANYPTR; len : LONGINT; id : LONGCARD END;
  1411.   pDataspaceClear              = RECORD OF MsgRoot; END;
  1412.   pDataspaceMerge              = RECORD OF MsgRoot; dataspace : Object END;
  1413.   pDataspaceReadIFF            = RECORD OF MsgRoot; handle    : IFFHandlePtr END;
  1414.   pDataspaceRemove             = RECORD OF MsgRoot; id        : LONGCARD END;
  1415.   pDataspaceWriteIFF           = RECORD OF MsgRoot; handle    : IFFHandlePtr; type, id : LONGCARD END;
  1416.  
  1417. (****************************************************************************)
  1418. (** Cycle                                                                  **)
  1419. (****************************************************************************)
  1420.  
  1421. CONST
  1422.   cCycle  = "Cycle.mui";
  1423.  
  1424. TYPE
  1425.   CycleActive = (next = -1, prev = -2);
  1426.  
  1427. (* Attributes *)
  1428.  
  1429.   CycleTags = TAGS OF DataspaceTags
  1430.     cycleActive            = $80421788 : LONGINT;           |  V4 isg
  1431.     cycleActiveMove        = $80421788 : CycleActive;       |  V4 isg
  1432.     cycleEntries           = $80420629 : StringArrPtr;      |  V4 i..
  1433.   END;
  1434.  
  1435.  
  1436. (****************************************************************************)
  1437. (** Popstring                                                              **)
  1438. (****************************************************************************)
  1439.  
  1440. CONST
  1441.   cPopstring  = "Popstring.mui";
  1442.  
  1443. (* Attributes *)
  1444.  
  1445. TYPE
  1446.   PopstringTags = TAGS OF CycleTags
  1447.     popstringButton        = $8042D0B9 : Object;            |  V7 i.g
  1448.     popstringCloseHook     = $804256BF : HookPtr;           |  V7 isg
  1449.     popstringOpenHook      = $80429D00 : HookPtr;           |  V7 isg
  1450.     popstringString        = $804239EA : Object;            |  V7 i.g
  1451.     popstringToggle        = $80422B7A : CBOOLEAN;          |  V7 isg
  1452.   END;
  1453.  
  1454. (* Methods *)
  1455.  
  1456. CONST
  1457.   mPopstringClose    = MethodID($8042DC52); | V7
  1458.   mPopstringOpen     = MethodID($804258BA); | V7
  1459.  
  1460. (* Parameters *)
  1461.  
  1462. TYPE
  1463.  
  1464.   pPopstringClosePtr  = POINTER TO pPopstringClose;
  1465.   pPopstringClose = RECORD OF MsgRoot;
  1466.               result : CBOOLEAN;
  1467.             END;
  1468.  
  1469.   METHOD Open  (o : PopstringObject);
  1470.   METHOD Close (o : PopstringObject; result : CBOOLEAN);
  1471.  
  1472.  
  1473.  
  1474. (****************************************************************************)
  1475. (** Parameter structures for some classes                                  **)
  1476. (****************************************************************************)
  1477.  
  1478. TYPE
  1479.   PaletteEntryPtr  = POINTER TO PaletteEntry;
  1480.   PaletteEntry  = RECORD;
  1481.              id      : LONGINT;
  1482.              red,
  1483.              green,
  1484.              blue    : LONGINT;
  1485.              group   : LONGINT;
  1486.            END;
  1487.  
  1488. CONST paletteEntryEnd = -1;
  1489.  
  1490. TYPE
  1491.   ScrmodelistEntryPtr  = POINTER TO ScrmodelistEntry;
  1492.   ScrmodelistEntry  = RECORD;
  1493.              name     : SysStringPtr;
  1494.              modeID   : LONGCARD;
  1495.                END;
  1496.  
  1497. (****************************************************************************)
  1498. (** Black box specification structures for images, pens, frames            **)
  1499. (****************************************************************************)
  1500.  
  1501.   PenSpecPtr = POINTER TO PenSpec;
  1502.   PenSpec    = RECORD
  1503.          buf : ARRAY [32] OF CHAR;
  1504.            END ;
  1505.  
  1506.   RGBcolorPtr = POINTER TO RECORD red, green, blue : LONGCARD END;  | only for Public Screen Inspector
  1507.  
  1508.  
  1509.   METHOD app       (obj : Object) : ApplicationObject;
  1510.   METHOD win       (obj : AreaObject) : WindowObject;
  1511.   METHOD dri       (obj : AreaObject) : DrawInfoPtr;
  1512.   METHOD window    (obj : AreaObject) : Intuition.WindowPtr;
  1513.   METHOD screen    (obj : AreaObject) : Intuition.ScreenPtr;
  1514.   METHOD rp        (obj : AreaObject) : Graphics.RastPortPtr;
  1515.   METHOD left      (obj : AreaObject) : INTEGER;
  1516.   METHOD top       (obj : AreaObject) : INTEGER;
  1517.   METHOD width     (obj : AreaObject) : INTEGER;
  1518.   METHOD height    (obj : AreaObject) : INTEGER;
  1519.   METHOD right     (obj : AreaObject) : INTEGER;
  1520.   METHOD bottom    (obj : AreaObject) : INTEGER;
  1521.   METHOD addleft   (obj : AreaObject) : SHORTINT;
  1522.   METHOD addtop    (obj : AreaObject) : SHORTINT;
  1523.   METHOD subwidth  (obj : AreaObject) : SHORTINT;
  1524.   METHOD subheight (obj : AreaObject) : SHORTINT;
  1525.   METHOD mleft     (obj : AreaObject) : INTEGER;
  1526.   METHOD mtop      (obj : AreaObject) : INTEGER;
  1527.   METHOD mwidth    (obj : AreaObject) : INTEGER;
  1528.   METHOD mheight   (obj : AreaObject) : INTEGER;
  1529.   METHOD mright    (obj : AreaObject) : INTEGER;
  1530.   METHOD mbottom   (obj : AreaObject) : INTEGER;
  1531.   METHOD font      (obj : AreaObject) : TextFontPtr;
  1532.   METHOD flags     (obj : AreaObject) : AreaDataFlagSet;
  1533.  
  1534. (* Mui.CustomClass returned by Mui.CreateCustomClass() *)
  1535.  
  1536. TYPE
  1537.   CustomClassPtr = POINTER TO CustomClass;
  1538.   CustomClass = RECORD
  1539.           userData       : ANYPTR;      (* use for whatever you want *)
  1540.           utilityBase    : LibraryPtr;  (* MUI has opened these libraries *)
  1541.           dosBase        : LibraryPtr;  (* for you automatically. You can *)
  1542.           gfxBase        : LibraryPtr;  (* use them or decide to open     *)
  1543.           intuitionBase  : LibraryPtr;  (* your libraries yourself.       *)
  1544.           super          : IClassPtr;   (* pointer to super class   *)
  1545.           class          : IClassPtr;   (* pointer to the new class *)
  1546.           (* ... private data follows ... *)
  1547.          END;
  1548.  
  1549. (***************************************************************************
  1550. **
  1551. ** For Boopsi Image Implementors Only:
  1552. **
  1553. ** If MUI is using a boopsi image object, it will send a special method
  1554. ** immediately after object creation. This method has a parameter structure
  1555. ** where the boopsi can fill in its minimum and maximum size and learn if
  1556. ** its used in a horizontal or vertical context.
  1557. **
  1558. ** The boopsi image must use the method id (mBoopsiQuery) as return
  1559. ** value. That's how MUI sees that the method is implemented.
  1560. **
  1561. ** Note: MUI does not depend on this method. If the boopsi image doesn't
  1562. **       implement it, minimum size will be 0 and maximum size unlimited.
  1563. **
  1564. ***************************************************************************)
  1565.  
  1566. CONST
  1567.   mBoopsiQuery = MethodID($80427157);  (* this is send to the boopsi and *)
  1568.                        (* must be used as return value   *)
  1569.  
  1570.   bqMaxMax = 10000;         (* use this for unlimited MaxWidth/Height *)
  1571.  
  1572. TYPE
  1573.   BoopsiQueryFlagSet = SET OF (horiz);   | object used in a horizontal context (else vertical)
  1574.  
  1575.   pBoopsiQuery =
  1576.     RECORD OF MsgRoot;     (* parameter structure *)
  1577.       screen      : Intuition.ScreenPtr;  (* read only, display context *)
  1578.       flags       : BoopsiQueryFlagSet;   (* read only, see below *)
  1579.  
  1580.       minWidth    : LONGINT;              (* write only, fill in min width  *)
  1581.       minHeight   : LONGINT;              (* write only, fill in min height *)
  1582.       maxWidth    : LONGINT;              (* write only, fill in max width  *)
  1583.       maxHeight   : LONGINT;              (* write only, fill in max height *)
  1584.       renderInfo  : RenderInfoPtr;        (* read only, display context *)
  1585.       (* ... may grow in future ... *)
  1586.     END;
  1587.  
  1588.  
  1589. (****************************************************************************)
  1590. (** Objects without any method or special value                            **)
  1591. (****************************************************************************)
  1592.  
  1593. CONST
  1594.   cMenustrip     = "Menustrip.mui";
  1595.   cMenu          = "Menu.mui";
  1596.   cMenuitem      = "Menuitem.mui";
  1597.  
  1598.   cRectangle     = "Rectangle.mui";
  1599.   cImage         = "Image.mui";
  1600.   cBitmap        = "Bitmap.mui";
  1601.   cBodychunk     = "Bodychunk.mui";
  1602.   cText          = "Text.mui";
  1603.  
  1604.   cGauge         = "Gauge.mui";
  1605.   cScale         = "Scale.mui";
  1606.   cBoopsi        = "Boopsi.mui";
  1607.   cColorfield    = "Colorfield.mui";
  1608.  
  1609.   cFloattext     = "Floattext.mui";
  1610.   cVolumelist    = "Volumelist.mui";
  1611.   cScrmodelist   = "Scrmodelist.mui";
  1612.  
  1613.   cRegister      = "Register.mui";
  1614.   cVirtgroup     = "Virtgroup.mui";
  1615.   cScrollgroup   = "Scrollgroup.mui";
  1616.   cScrollbar     = "Scrollbar.mui";
  1617.  
  1618.   cRadio         = "Radio.mui";
  1619.  
  1620.   cSlider        = "Slider.mui";
  1621.   cKnob          = "Knob.mui";
  1622.   cNumericbutton = "Numericbutton.mui";
  1623.   cColoradjust   = "Coloradjust.mui";
  1624.   cPalette       = "Palette.mui";
  1625.   cColorpanel    = "Colorpanel.mui";
  1626.  
  1627.   cPopobject     = "Popobject.mui";
  1628.   cPoplist       = "Poplist.mui";
  1629.   cPopasl        = "Popasl.mui";
  1630.  
  1631.   cPoppen        = "Poppen.mui";
  1632.   cAboutmui      = "Aboutmui.mui";
  1633.   cKeyentry      = "Keyentry.mui";
  1634.   cBalance       = "Balance.mui";
  1635.  
  1636. | don't know why, but
  1637. | 1. OriginalTags and ExtendedTags values can be passed to OriginalTags,
  1638. | other successor types (ExtendedOfExtendedTags) lead to deadlock of the Cluster compiler
  1639. | 2. OriginalTags constants can't be passed to a LIST OF ExtOfExtTags item
  1640. TYPE
  1641.   MuiTags = TAGS OF StdTags
  1642.     appMessage             = $80421955 : AppMessagePtr;     |  V5 ..g
  1643. |   helpFile               = $80423A6E : SysStringPtr;      |  V4 isg
  1644.     helpLine               = $8042A825 : LONGINT;           |  V4 isg
  1645.     helpNode               = $80420B85 : SysStringPtr;      |  V4 isg
  1646.     noNotify               = $804237F9 : CBOOLEAN;          |  V7 .s.
  1647.     parent                 = $8042E35F : Object;            | V11 ..g
  1648.     revision               = $80427EAA : LONGINT;           |  V4 ..g
  1649.     userData               = $80420313 : LONGINT;           |  V4 isg
  1650.     version                = $80422301 : LONGINT;           |  V4 ..g
  1651.  
  1652.     familyChild            = $8042C696 : FamilyObject;      |  V8 i..
  1653.  
  1654.     applicationActive      = $804260AB : CBOOLEAN;          |  V4 isg
  1655.     applicationAuthor      = $80424842 : SysStringPtr;      |  V4 i.g
  1656.     applicationBase        = $8042E07A : SysStringPtr;      |  V4 i.g
  1657.     applicationBroker      = $8042DBCE : BrokerPtr;         |  V4 ..g
  1658.     applicationBrokerHook  = $80428F4B : HookPtr;           |  V4 isg
  1659.     applicationBrokerPort  = $8042E0AD : MsgPortPtr;        |  V6 ..g
  1660.     applicationBrokerPri   = $8042C8D0 : LONGINT;           |  V6 i.g
  1661.     applicationCommands    = $80428648 : CommandPtr;        |  V4 isg
  1662.     applicationCopyright   = $8042EF4D : SysStringPtr;      |  V4 i.g
  1663.     applicationDescription = $80421FC6 : SysStringPtr;      |  V4 i.g
  1664.     applicationDiskObject  = $804235CB : DiskObjectPtr;     |  V4 isg
  1665.     applicationDoubleStart = $80423BC6 : CBOOLEAN;          |  V4 ..g
  1666.     applicationDropObject  = $80421266 : Object;            |  V5 is.
  1667.     applicationForceQuit   = $804257DF : CBOOLEAN;          |  V8 ..g
  1668.     applicationHelpFile    = $804293F4 : SysStringPtr;      |  V8 isg
  1669.     applicationIconified   = $8042A07F : CBOOLEAN;          |  V4 .sg
  1670.     applicationMenu        = $80420E1F : NewMenuArrPtr;     |  V4 i.g
  1671.     applicationMenuAction  = $80428961 : LONGCARD;          |  V4 ..g
  1672.     applicationMenuHelp    = $8042540B : LONGCARD;          |  V4 ..g
  1673.     applicationMenustrip   = $804252D9 : FamilyObject;      |  V8 i..
  1674.     applicationRexxHook    = $80427C42 : HookPtr;           |  V7 isg
  1675.     applicationRexxMsg     = $8042FD88 : RxMsgPtr;          |  V4 ..g
  1676.     applicationRexxString  = $8042D711 : SysStringPtr;      |  V4 .s.
  1677.     applicationSingleTask  = $8042A2C8 : CBOOLEAN;          |  V4 i..
  1678.     applicationSleep       = $80425711 : CBOOLEAN;          |  V4 .s.
  1679.     applicationTitle       = $804281B8 : SysStringPtr;      |  V4 i.g
  1680.     applicationUseCommodities
  1681.                = $80425EE5 : CBOOLEAN;          | V10 i..
  1682.     applicationUseRexx     = $80422387 : CBOOLEAN;          | V10 i..
  1683.     applicationVersion     = $8042B33F : SysStringPtr;      |  V4 i.g
  1684.     applicationWindow      = $8042BFE0 : WindowObject;      |  V4 i..
  1685.     applicationWindowList  = $80429ABE : ListPtr;           | V13 ..g
  1686.  
  1687.     windowActivate         = $80428D2F : CBOOLEAN;          |  V4 isg
  1688.     windowActiveObject     = $80427925 : Object;            |  V4 .sg
  1689.     windowActiveObjectMove = $80427925 : WindowActiveObject;|  V4 .sg
  1690.     windowAltHeight        = $8042CCE3 : LONGINT;           |  V4 i.g
  1691.     windowAltLeftEdge      = $80422D65 : LONGINT;           |  V4 i.g
  1692.     windowAltTopEdge       = $8042E99B : LONGINT;           |  V4 i.g
  1693.     windowAltWidth         = $804260F4 : LONGINT;           |  V4 i.g
  1694.     windowAppWindow        = $804280CF : CBOOLEAN;          |  V5 i..
  1695.     windowBackdrop         = $8042C0BB : CBOOLEAN;          |  V4 i..
  1696.     windowBorderless       = $80429B79 : CBOOLEAN;          |  V4 i..
  1697.     windowCloseGadget      = $8042A110 : CBOOLEAN;          |  V4 i..
  1698.     windowCloseRequest     = $8042E86E : CBOOLEAN;          |  V4 ..g
  1699.     windowDefaultObject    = $804294D7 : Object;            |  V4 isg
  1700.     windowDepthGadget      = $80421923 : CBOOLEAN;          |  V4 i..
  1701.     windowDragBar          = $8042045D : CBOOLEAN;          |  V4 i..
  1702.     windowHeight           = $80425846 : LONGINT;           |  V4 i.g
  1703.     windowID               = $804201BD : LONGCARD;          |  V4 isg
  1704.     windowIDChar           = $804201BD : LongID;            |  V4 isg
  1705.     windowInputEvent       = $804247D8 : SysStringPtr;      |  V4 ..g
  1706. |   windowInputEvent       = $804247D8 : InputEventPtr;     |  V4 ..g
  1707.     windowLeftEdge         = $80426C65 : LONGINT;           |  V4 i.g
  1708. |   windowMenu             = $8042DB94 : NewMenuArrPtr;     |  V4 i..
  1709.     windowMenuAction       = $80427521 : LONGCARD;          |  V8 isg
  1710.     windowMenustrip        = $8042855E : FamilyObject;      |  V8 i..
  1711.     windowMouseObject      = $8042BF9B : Object;            | V10 ..g
  1712.     windowNeedsMouseObject = $8042372A : CBOOLEAN;          | V10 i..
  1713.     windowNoMenus          = $80429DF5 : CBOOLEAN;          |  V4 is.
  1714.     windowOpen             = $80428AA0 : CBOOLEAN;          |  V4 .sg
  1715.     windowPublicScreen     = $804278E4 : SysStringPtr;      |  V6 isg
  1716.     windowRefWindow        = $804201F4 : WindowObject;      |  V4 is.
  1717.     windowRootObject       = $8042CBA5 : Object;            |  V4 i..
  1718.     windowScreen           = $8042DF4F : ScreenPtr;         |  V4 isg
  1719.     windowScreenTitle      = $804234B0 : SysStringPtr;      |  V5 isg
  1720.     windowSizeGadget       = $8042E33D : CBOOLEAN;          |  V4 i..
  1721.     windowSizeRight        = $80424780 : CBOOLEAN;          |  V4 i..
  1722.     windowSleep            = $8042E7DB : CBOOLEAN;          |  V4 .sg
  1723.     windowTitle            = $8042AD3D : SysStringPtr;      |  V4 isg
  1724.     windowTopEdge          = $80427C66 : LONGINT;           |  V4 i.g
  1725.     windowUseBottomBorderScroller = $80424E79 : CBOOLEAN;   | V13 is.
  1726.     windowUseLeftBorderScroller   = $8042433E : CBOOLEAN;   | V13 is.
  1727.     windowUseRightBorderScroller  = $8042C05E : CBOOLEAN;   | V13 is.
  1728.     windowWidth            = $8042DCAE : LONGINT;           |  V4 i.g
  1729.     windowWindow           = $80426A42 : WindowPtr;         |  V4 ..g
  1730.  
  1731.     applicationObject      = $8042D3EE : ApplicationObject; |  V4 ..g
  1732.     background             = $8042545B : StandardImages;    |  V4 is.
  1733.     bottomEdge             = $8042E552 : LONGINT;           |  V4 ..g
  1734.     contextMenu            = $8042B704 : Object;            | V11 isg
  1735.     contextMenuTrigger     = $8042A2C1 : Object;            | V11 ..g
  1736.     controlChar            = $8042120B : LONGCHAR;          |  V4 i..
  1737.     cycleChain             = $80421CE7 : LONGINT;           | V11 isg
  1738.     disabled               = $80423661 : CBOOLEAN;          |  V4 isg
  1739.     draggable              = $80420B6E : CBOOLEAN;          | V11 isg
  1740.     dropable               = $8042FBCE : CBOOLEAN;          | V11 isg
  1741. |   exportID               = $8042D76E : LONGINT;           |  V4 isg
  1742.     fixHeight              = $8042A92B : LONGINT;           |  V4 i..
  1743.     fixHeightTxt           = $804276F2 : SysStringPtr;      |  V4 i..
  1744.     fixWidth               = $8042A3F1 : LONGINT;           |  V4 i..
  1745.     fixWidthTxt            = $8042D044 : SysStringPtr;      |  V4 i..
  1746.     font                   = $8042BE50 : TextFontPtr;       |  V4 i.g
  1747.     fontDefault            = $8042BE50 : Fonts;             |  V4 i.g
  1748.     frame                  = $8042AC64 : Frames;            |  V4 i..
  1749.     framePhantomHoriz      = $8042ED76 : CBOOLEAN;          |  V4 i..
  1750.     frameTitle             = $8042D1C7 : SysStringPtr;      |  V4 i..
  1751.     height                 = $80423237 : LONGINT;           |  V4 ..g
  1752.     horizDisappear         = $80429615 : LONGINT;           | V11 isg
  1753.     horizWeight            = $80426DB9 : LONGINT;           |  V4 i..
  1754.     innerBottom            = $8042F2C0 : LONGINT;           |  V4 i..
  1755.     innerLeft              = $804228F8 : LONGINT;           |  V4 i..
  1756.     innerRight             = $804297FF : LONGINT;           |  V4 i..
  1757.     innerTop               = $80421EB6 : LONGINT;           |  V4 i..
  1758.     inputMode              = $8042FB04 : InputModes;        |  V4 i..
  1759.     leftEdge               = $8042BEC6 : LONGINT;           |  V4 ..g
  1760.     maxHeight              = $804293E4 : LONGINT;           | V11 i..
  1761.     maxWidth               = $8042F112 : LONGINT;           | V11 i..
  1762.     objectID               = $8042D76E : LONGCARD;          | V11 isg
  1763.     pressed                = $80423535 : CBOOLEAN;          |  V4 ..g
  1764.     rightEdge              = $8042BA82 : LONGINT;           |  V4 ..g
  1765.     selected               = $8042654B : CBOOLEAN;          |  V4 isg
  1766.     shortHelp              = $80428FE3 : SysStringPtr;      | V11 isg
  1767.     showMe                 = $80429BA8 : CBOOLEAN;          |  V4 isg
  1768.     showSelState           = $8042CAAC : CBOOLEAN;          |  V4 i..
  1769.     timer                  = $80426435 : LONGINT;           |  V4 ..g
  1770.     topEdge                = $8042509B : LONGINT;           |  V4 ..g
  1771.     vertDisappear          = $8042D12F : LONGINT;           | V11 isg
  1772.     vertWeight             = $804298D0 : LONGINT;           |  V4 i..
  1773.     weight                 = $80421D1F : LONGINT;           |  V4 i..
  1774.     width                  = $8042B59C : LONGINT;           |  V4 ..g
  1775.     window                 = $80421591 : WindowPtr;         |  V4 ..g
  1776.     windowObject           = $8042669E : WindowObject;      |  V4 ..g
  1777.  
  1778.     listActive             = $8042391C : LONGINT;           |  V4 isg
  1779.     listActiveMove         = $8042391C : ListActive;        |  V4 isg
  1780.     listAdjustHeight       = $8042850D : CBOOLEAN;          |  V4 i..
  1781.     listAdjustWidth        = $8042354A : CBOOLEAN;          |  V4 i..
  1782.     listAutoVisible        = $8042A445 : CBOOLEAN;          | V11 isg
  1783.     listCompareHook        = $80425C14 : HookPtr;           |  V4 is.
  1784.     listConstructHook      = $8042894F : HookPtr;           |  V4 is.
  1785.     listDestructHook       = $804297CE : HookPtr;           |  V4 is.
  1786.     listDisplayHook        = $8042B4D5 : HookPtr;           |  V4 is.
  1787.     listDragSortable       = $80426099 : CBOOLEAN;          | V11 isg
  1788.     listDropMark           = $8042ABA6 : LONGINT;           | V11 ..g
  1789.     listEntries            = $80421654 : LONGINT;           |  V4 ..g
  1790.     listFirst              = $804238D4 : LONGINT;           |  V4 ..g
  1791.     listFormat             = $80423C0A : SysStringPtr;      |  V4 isg
  1792.     listInsertPosition     = $8042D0CD : LONGINT;           |  V9 ..g
  1793.     listMultiTestHook      = $8042C2C6 : HookPtr;           |  V4 is.
  1794.     listPool               = $80423431 : PoolHeaderPtr;     | V13 i..
  1795.     listPoolPuddleSize     = $8042A4EB : LONGCARD;          | V13 i..
  1796.     listPoolThreshSize     = $8042C48C : LONGCARD;          | V13 i..
  1797.     listQuiet              = $8042D8C7 : CBOOLEAN;          |  V4 .s.
  1798.     listShowDropMarks      = $8042C6F3 : CBOOLEAN;          | V11 isg
  1799.     listSourceArray        = $8042C0A0 : ANYPTR;            |  V4 i..
  1800.     listTitle              = $80423E66 : SysStringPtr;      |  V6 isg
  1801.     listTitleMultiColumn   = $80423E66 : CBOOLEAN;          |  V6 isg
  1802.     listVisible            = $8042191F : LONGINT;           |  V4 ..g
  1803.  
  1804.     scrollbarType          = $8042FB6B : ScrollbarTypes;    | V11 i..
  1805.     listviewClickColumn    = $8042D1B3 : LONGINT;           |  V7 ..g
  1806.     listviewDefClickColumn = $8042B296 : LONGINT;           |  V7 isg
  1807.     listviewDoubleClick    = $80424635 : CBOOLEAN;          |  V4 i.g
  1808.     listviewDragType       = $80425CD3 : ListViewDragTypes; | V11 isg
  1809.     listviewInput          = $8042682D : CBOOLEAN;          |  V4 i..
  1810.     listviewList           = $8042BCCE : ListObject;        |  V4 i..
  1811.     listviewMultiSelect    = $80427E08 : ListViewMultiSelect; | V7 i..
  1812.     listviewSelectChange   = $8042178F : CBOOLEAN;          |  V4 ..g
  1813.     listviewScrollerPos    = $8042B1B4 : ListViewScrollerPos; | V10 i..
  1814.  
  1815.     dirlistAcceptPattern   = $8042760A : SysStringPtr;      |  V4 is.
  1816.     dirlistDirectory       = $8042EA41 : SysStringPtr;      |  V4 is.
  1817.     dirlistDrawersOnly     = $8042B379 : CBOOLEAN;          |  V4 is.
  1818.     dirlistFilesOnly       = $8042896A : CBOOLEAN;          |  V4 is.
  1819.     dirlistFilterDrawers   = $80424AD2 : CBOOLEAN;          |  V4 is.
  1820.     dirlistFilterHook      = $8042AE19 : HookPtr;           |  V4 is.
  1821.     dirlistMultiSelDirs    = $80428653 : CBOOLEAN;          |  V6 is.
  1822.     dirlistNumBytes        = $80429E26 : LONGINT;           |  V4 ..g
  1823.     dirlistNumDrawers      = $80429CB8 : LONGINT;           |  V4 ..g
  1824.     dirlistNumFiles        = $8042A6F0 : LONGINT;           |  V4 ..g
  1825.     dirlistPath            = $80426176 : SysStringPtr;      |  V4 ..g
  1826.     dirlistRejectIcons     = $80424808 : CBOOLEAN;          |  V4 is.
  1827.     dirlistRejectPattern   = $804259C7 : SysStringPtr;      |  V4 is.
  1828.     dirlistSortDirs        = $8042BBB9 : DirlistSortDirs;   |  V4 is.
  1829.     dirlistSortHighLow     = $80421896 : CBOOLEAN;          |  V4 is.
  1830.     dirlistSortType        = $804228BC : DirlistSortTypes;  |  V4 is.
  1831.     dirlistStatus          = $804240DE : DirlistStatus;     |  V4 ..g
  1832.  
  1833.     numericDefault         = $804263E8 : LONGINT;           | V11 isg
  1834.     numericFormat          = $804263E9 : SysStringPtr;      | V11 isg
  1835.     numericMax             = $8042D78A : LONGINT;           | V11 isg
  1836.     numericMin             = $8042E404 : LONGINT;           | V11 isg
  1837.     numericReverse         = $8042F2A0 : CBOOLEAN;          | V11 isg
  1838.     numericRevLeftRight    = $804294A7 : CBOOLEAN;          | V11 isg
  1839.     numericRevUpDown       = $804252DD : CBOOLEAN;          | V11 isg
  1840.     numericValue           = $8042AE3A : LONGINT;           | V11 isg
  1841.  
  1842.     groupActivePage        = $80424199 : LONGINT;           |  V5 isg
  1843.     groupChild             = $804226E6 : AreaObject;        |  V4 i..
  1844.     groupChildList         = $80424748 : ListPtr;           |  V4 ..g
  1845.     groupColumns           = $8042F416 : LONGINT;           |  V4 is.
  1846.     groupHoriz             = $8042536B : CBOOLEAN;          |  V4 i..
  1847.     groupHorizSpacing      = $8042C651 : LONGINT;           |  V4 is.
  1848.     groupLayoutHook        = $8042C3B2 : HookPtr;           | V11 i..
  1849.     groupPageMode          = $80421A5F : CBOOLEAN;          |  V5 is.
  1850.     groupRows              = $8042B68F : LONGINT;           |  V4 is.
  1851.     groupSameHeight        = $8042037E : CBOOLEAN;          |  V4 i..
  1852.     groupSameSize          = $80420860 : CBOOLEAN;          |  V4 i..
  1853.     groupSameWidth         = $8042B3EC : CBOOLEAN;          |  V4 i..
  1854.     groupSpacing           = $8042866D : LONGINT;           |  V4 is.
  1855.     groupVertSpacing       = $8042E1BF : LONGINT;           |  V4 is.
  1856.  
  1857.     registerFrame          = $8042349B : CBOOLEAN;          |  V7 i.g
  1858.     registerTitles         = $804297EC : StringArrPtr;      |  V7 i.g
  1859.  
  1860.     penadjustPSIMode       = $80421CBB : CBOOLEAN;          | V11 i..
  1861.  
  1862.     virtgroupInput         = $80427F7E : CBOOLEAN;          | V11 i..
  1863.     virtgroupHeight        = $80423038 : LONGINT;           |  V6 ..g
  1864.     virtgroupLeft          = $80429371 : LONGINT;           |  V6 isg
  1865.     virtgroupTop           = $80425200 : LONGINT;           |  V6 isg
  1866.     virtgroupWidth         = $80427C49 : LONGINT;           |  V6 ..g
  1867.  
  1868.     scrollgroupContents    = $80421261 : Object;            |  V4 i..
  1869.     scrollgroupFreeHoriz   = $804292F3 : CBOOLEAN;          |  V9 i..
  1870.     scrollgroupFreeVert    = $804224F2 : CBOOLEAN;          |  V9 i..
  1871.     scrollgroupHorizBar    = $8042B63D : Object;            | V16 ..g
  1872.     scrollgroupUseWinBorder= $804284C1 : CBOOLEAN;          | V13 i..
  1873.     scrollgroupVertBar     = $8042CDC0 : Object;            | V16 ..g
  1874.  
  1875.     dataspacePool          = $80424CF9 : PoolHeaderPtr;     | V11 i..
  1876.  
  1877.     cycleActive            = $80421788 : LONGINT;           |  V4 isg
  1878.     cycleActiveMove        = $80421788 : CycleActive;       |  V4 isg
  1879.     cycleEntries           = $80420629 : StringArrPtr;      |  V4 i..
  1880.  
  1881.     popstringButton        = $8042D0B9 : Object;            |  V7 i.g
  1882.     popstringCloseHook     = $804256BF : HookPtr;           |  V7 isg
  1883.     popstringOpenHook      = $80429D00 : HookPtr;           |  V7 isg
  1884.     popstringString        = $804239EA : Object;            |  V7 i.g
  1885.     popstringToggle        = $80422B7A : CBOOLEAN;          |  V7 isg
  1886.  
  1887.  
  1888.     menustripEnabled       = $8042815B : CBOOLEAN;          |  V8 isg
  1889.  
  1890.     menuEnabled            = $8042ED48 : CBOOLEAN;          |  V8 isg
  1891.     menuTitle              = $8042A0E3 : SysStringPtr;      |  V8 isg
  1892.  
  1893.     menuitemChecked        = $8042562A : CBOOLEAN;          |  V8 isg
  1894.     menuitemCheckit        = $80425ACE : CBOOLEAN;          |  V8 isg
  1895.     menuitemCommandString  = $8042B9CC : CBOOLEAN;          | V16 isg
  1896.     menuitemEnabled        = $8042AE0F : CBOOLEAN;          |  V8 isg
  1897.     menuitemExclude        = $80420BC6 : LONGINT;           |  V8 isg
  1898.     menuitemShortcut       = $80422030 : LONGCHAR;          |  V8 isg
  1899.     menuitemTitle          = $804218BE : SysStringPtr;      |  V8 isg
  1900.     menuitemToggle         = $80424D5C : CBOOLEAN;          |  V8 isg
  1901.     menuitemTrigger        = $80426F32 : MenuItemPtr;       |  V8 ..g
  1902.  
  1903.     aboutmuiApplication    = $80422523 : Object;            | V11 i..
  1904.  
  1905.     rectangleBarTitle      = $80426689 : SysStringPtr;      | V11 i.g
  1906.     rectangleHBar          = $8042C943 : CBOOLEAN;          |  V7 i.g
  1907.     rectangleVBar          = $80422204 : CBOOLEAN;          |  V7 i.g
  1908.  
  1909.     imageFontMatch         = $8042815D : CBOOLEAN;          |  V4 i..
  1910.     imageFontMatchHeight   = $80429F26 : CBOOLEAN;          |  V4 i..
  1911.     imageFontMatchWidth    = $804239BF : CBOOLEAN;          |  V4 i..
  1912.     imageFreeHoriz         = $8042DA84 : CBOOLEAN;          |  V4 i..
  1913.     imageFreeVert          = $8042EA28 : CBOOLEAN;          |  V4 i..
  1914.     imageOldImage          = $80424F3D : ImagePtr;          |  V4 i..
  1915.     imageExtern            = $804233D5 : SysStringPtr;      |  V4 i..   For C programmers, where no typecheck is done for tags, this solution maybe possible,
  1916.     imageSpec              = $804233D5 : StandardImages;    |  V4 i..   but for Cluster it is not acceptable in most cases
  1917.     imageState             = $8042A3AD : ImageDrawStates;   |  V4 is.
  1918.  
  1919.     bitmapBitmap           = $804279BD : BitMapPtr;         |  V8 isg
  1920.     bitmapHeight           = $80421560 : LONGINT;           |  V8 isg
  1921.     bitmapMappingTable     = $8042E23D : POINTER TO ARRAY OF SHORTCARD; | V8 isg
  1922.     bitmapPrecision        = $80420C74 : Precision;         | V11 isg
  1923.     bitmapRemappedBitmap   = $80423A47 : BitMapPtr;         | V11 ..g
  1924.     bitmapSourceColors     = $80425360 : POINTER TO ARRAY OF LONGCARD; |  V8 isg
  1925.     bitmapTransparent      = $80422805 : LONGINT;           |  V8 isg
  1926.     bitmapUseFriend        = $804239D8 : CBOOLEAN;          | V11 i..
  1927.     bitmapWidth            = $8042EB3A : LONGINT;           |  V8 isg
  1928.  
  1929.     bodychunkBody          = $8042CA67 : POINTER TO ARRAY OF SHORTCARD; | V8 isg
  1930.     bodychunkCompression   = $8042DE5F : SHORTCARD;         |  V8 isg
  1931.     bodychunkDepth         = $8042C392 : LONGINT;           |  V8 isg
  1932.     bodychunkMasking       = $80423B0E : SHORTCARD;         |  V8 isg
  1933.  
  1934.     textContents           = $8042F8DC : SysStringPtr;      |  V4 isg
  1935.     textHiChar             = $804218FF : LONGCHAR;          |  V4 i..
  1936.     textPreParse           = $8042566D : SysStringPtr;      |  V4 isg
  1937.     textSetMax             = $80424D0A : CBOOLEAN;          |  V4 i..
  1938.     textSetMin             = $80424E10 : CBOOLEAN;          |  V4 i..
  1939.     textSetVMax            = $80420D8B : CBOOLEAN;          | V11 i..
  1940.  
  1941.     gadgetGadget           = $8042EC1A : GadgetPtr;         | V11 ..g
  1942.     stringAccept           = $8042E3E1 : SysStringPtr;      |  V4 isg
  1943.     stringAcknowledge      = $8042026C : SysStringPtr;      |  V4 ..g
  1944.     stringAdvanceOnCR      = $804226DE : CBOOLEAN;          | V11 isg
  1945.     stringAttachedList     = $80420FD2 : ListObject;        |  V4 i..
  1946.     stringBufferPos        = $80428B6C : LONGINT;           |  V4 .sg
  1947.     stringContents         = $80428FFD : SysStringPtr;      |  V4 isg
  1948.     stringDisplayPos       = $8042CCBF : LONGINT;           |  V4 .sg
  1949.     stringEditHook         = $80424C33 : HookPtr;           |  V7 isg
  1950.     stringFormat           = $80427484 : StringFormat;      |  V4 i.g
  1951.     stringInteger          = $80426E8A : LONGCARD;          |  V4 isg
  1952.     stringLonelyEditHook   = $80421569 : CBOOLEAN;          | V11 isg
  1953.     stringMaxLen           = $80424984 : LONGINT;           |  V4 i..
  1954.     stringReject           = $8042179C : SysStringPtr;      |  V4 isg
  1955.     stringSecret           = $80428769 : CBOOLEAN;          |  V4 i.g
  1956.  
  1957.     propEntries            = $8042FBDB : LONGINT;           |  V4 isg
  1958.     propFirst              = $8042D4B2 : LONGINT;           |  V4 isg
  1959.     propHoriz              = $8042F4F3 : CBOOLEAN;          |  V4 i.g
  1960.     propSlider             = $80429C3A : CBOOLEAN;          |  V4 isg
  1961.     propUseWinBorder       = $8042deee : WinBorders;        | V13 i..
  1962.     propVisible            = $8042FEA6 : LONGINT;           |  V4 isg
  1963.  
  1964.     gaugeCurrent           = $8042F0DD : LONGINT;           |  V4 isg
  1965.     gaugeDivide            = $8042D8DF : CBOOLEAN;          |  V4 isg
  1966.     gaugeHoriz             = $804232DD : CBOOLEAN;          |  V4 i..
  1967.     gaugeInfoText          = $8042BF15 : SysStringPtr;      |  V7 isg
  1968.     gaugeMax               = $8042BCDB : LONGINT;           |  V4 isg
  1969.  
  1970.     scaleHoriz             = $8042919A : CBOOLEAN;          |  V4 isg
  1971.  
  1972.     boopsiClass            = $80426999 : IClassPtr;         |  V4 isg
  1973.     boopsiClassID          = $8042BFA3 : SysStringPtr;      |  V4 isg
  1974.     boopsiMaxHeight        = $8042757F : LONGCARD;          |  V4 isg
  1975.     boopsiMaxWidth         = $8042BCB1 : LONGCARD;          |  V4 isg
  1976.     boopsiMinHeight        = $80422C93 : LONGCARD;          |  V4 isg
  1977.     boopsiMinWidth         = $80428FB2 : LONGCARD;          |  V4 isg
  1978.     boopsiObject           = $80420178 : Object;            |  V4 ..g
  1979.     boopsiRemember         = $8042F4BD : LONGCARD;          |  V4 i..
  1980.     boopsiSmart            = $8042B8D7 : CBOOLEAN;          |  V9 i..
  1981.     boopsiTagDrawInfo      = $8042BAE7 : LONGCARD;          |  V4 isg
  1982.     boopsiTagScreen        = $8042BC71 : LONGCARD;          |  V4 isg
  1983.     boopsiTagWindow        = $8042E11D : LONGCARD;          |  V4 isg
  1984.  
  1985.     colorfieldBlue         = $8042D3B0 : LONGCARD;          |  V4 isg
  1986.     colorfieldGreen        = $80424466 : LONGCARD;          |  V4 isg
  1987.     colorfieldPen          = $8042713A : LONGCARD;          |  V4 ..g
  1988.     colorfieldRed          = $804279F6 : LONGCARD;          |  V4 isg
  1989.     colorfieldRGB          = $8042677A : POINTER TO ARRAY OF LONGCARD; | V4 isg
  1990.  
  1991.     floattextJustify       = $8042DC03 : CBOOLEAN;          |  V4 isg
  1992.     floattextSkipChars     = $80425C7D : SysStringPtr;      |  V4 is.
  1993.     floattextTabSize       = $80427D17 : LONGINT;           |  V4 is.
  1994.     floattextText          = $8042D16A : SysStringPtr;      |  V4 isg
  1995.  
  1996.     pendisplayPen          = $8042A748 : Object;            | V13 ..g
  1997.     pendisplayReference    = $8042DC24 : Object;            | V13 isg
  1998.     pendisplayRGBcolor     = $8042A1A9 : RGBcolorPtr;       | V11 isg
  1999.     pendisplaySpec         = $8042A204 : PenSpecPtr;        | V11 isg
  2000.  
  2001.     levelmeterLabel        = $80420DD5 : SysStringPtr;      | V11 isg
  2002.  
  2003.     sliderHoriz            = $8042FAD1 : CBOOLEAN;          | V11 isg
  2004. |   sliderLevel            = $8042AE3A : LONGINT;           |  V4 isg
  2005. |   sliderMax              = $8042D78A : LONGINT;           |  V4 i..
  2006. |   sliderMin              = $8042E404 : LONGINT;           |  V4 i..
  2007.     sliderQuiet            = $80420B26 : CBOOLEAN;          |  V6 i..
  2008. |   sliderReverse          = $8042F2A0 : CBOOLEAN;          |  V4 isg
  2009.  
  2010.     radioActive            = $80429B41 : LONGINT;           |  V4 isg
  2011.     radioEntries           = $8042B6A1 : StringArrPtr;      |  V4 i..
  2012.  
  2013.     coloradjustBlue        = $8042B8A3 : LONGCARD;          |  V4 isg
  2014.     coloradjustGreen       = $804285AB : LONGCARD;          |  V4 isg
  2015.     coloradjustModeID      = $8042EC59 : LONGCARD;          |  V4 isg
  2016.     coloradjustRed         = $80420EAA : LONGCARD;          |  V4 isg
  2017.     coloradjustRGB         = $8042F899 : POINTER TO ARRAY OF LONGCARD; | V4 isg
  2018.  
  2019.     paletteEntries         = $8042A3D8 : POINTER TO ARRAY OF PaletteEntry; | V6 i.g
  2020.     paletteGroupable       = $80423E67 : CBOOLEAN;          |  V6 isg
  2021.     paletteNames           = $8042C3A2 : StringArrPtr;      |  V6 isg
  2022.  
  2023.     popobjectFollow        = $80424CB5 : CBOOLEAN;          |  V7 isg
  2024.     popobjectLight         = $8042A5A3 : CBOOLEAN;          |  V7 isg
  2025.     popobjectObject        = $804293E3 : Object;            |  V7 i.g
  2026.     popobjectObjStrHook    = $8042DB44 : HookPtr;           |  V7 isg
  2027.     popobjectStrObjHook    = $8042FBE1 : HookPtr;           |  V7 isg
  2028.     popobjectVolatile      = $804252EC : CBOOLEAN;          |  V7 isg
  2029.     popobjectWindowHook    = $8042F194 : HookPtr;           |  V9 isg
  2030.  
  2031.     poplistArray           = $8042084C : StringArrPtr;      |  V8 i..
  2032.  
  2033.     popaslActive           = $80421B37 : CBOOLEAN;          |  V7 ..g
  2034.     popaslStartHook        = $8042B703 : HookPtr;           |  V7 isg
  2035.     popaslStopHook         = $8042D8D2 : HookPtr;           |  V7 isg
  2036.     popaslType             = $8042DF3D : RequestType;       |  V7 i.g
  2037.   END;
  2038.  
  2039. MuiTagAPtr = POINTER TO MuiTagA;
  2040. MuiTagA    = ARRAY OF MuiTags;
  2041.  
  2042.  
  2043. (* Parameters for Notify class *)
  2044.  
  2045. TYPE
  2046.   pCallHookPtr     = POINTER TO pCallHook;
  2047.   pCallHook        = RECORD OF MsgRoot;
  2048.                hook      : HookPtr;
  2049.              | beginning of hook parameters list
  2050.              | hookParam : LONGINT;
  2051.              END;
  2052.  
  2053.   pExportPtr       = POINTER TO pExport;
  2054.   pExport          = RECORD OF MsgRoot; dataspace : Object END;
  2055.  
  2056.   pGetConfigItemPtr = POINTER TO pGetConfigItem;
  2057.   pGetConfigItem     = RECORD OF MsgRoot; id : LONGCARD; storage : POINTER TO LONGINT END;
  2058.  
  2059.   pImportPtr       = POINTER TO pImport;
  2060.   pImport          = pExport;
  2061.  
  2062.   pMultiSetPtr     = POINTER TO pMultiSet;
  2063.   pMultiSet        = RECORD OF MsgRoot;
  2064.                tag      : MuiTags;
  2065.              | beginning of objects list
  2066.              | firstObj : Object;
  2067.              END;
  2068.  
  2069.   pNotifyPtr       = POINTER TO pNotify;
  2070.   pNotify          = RECORD OF MsgRoot;
  2071.                trigger : MuiTags;
  2072.                destObj : Object;
  2073.                count   : LONGINT;
  2074.              | beginning of method + parameters list
  2075.              | destMsg : MsgRoot;
  2076.              END;
  2077.  
  2078.   pSetPtr          = POINTER TO pSet;
  2079.   pSet             = RECORD OF MsgRoot; tag : MuiTags END;
  2080.  
  2081.   pNoNotifySetPtr  = pSetPtr;
  2082.   pNoNotifySet     = pSet;
  2083.  
  2084.   pSetAsStringPtr  = POINTER TO pSetAsString;
  2085.   pSetAsString     = RECORD OF MsgRoot;
  2086.                tag : MuiTags;
  2087.              | beginning of the arguements list for format string in tag
  2088.              | val : LONGINT;
  2089.              END;
  2090.  
  2091.   pWriteLongPtr    = POINTER TO pWriteLong;
  2092.   pWriteLong       = RECORD OF MsgRoot; val : LONGINT; memory : POINTER TO LONGINT END;
  2093.  
  2094.   pWriteStringPtr  = POINTER TO pWriteString;
  2095.   pWriteString     = RECORD OF MsgRoot; str, memory : SysStringPtr END;
  2096.  
  2097.   pFindUDataPtr    = POINTER TO pFindUData;
  2098.   pFindUData       = RECORD OF MsgRoot; END;
  2099.  
  2100.   pGetUDataPtr     = POINTER TO pGetUData;
  2101.   pGetUData        = RECORD OF MsgRoot; udata : LONGCARD; attr : LONGCARD; storage : POINTER TO LONGINT END;
  2102.  
  2103.   pSetUDataPtr     = POINTER TO pSetUData;
  2104.   pSetUData        = RECORD OF MsgRoot; udata : LONGCARD; attr : MuiTags END;
  2105.  
  2106.   pSetUDataOncePtr = POINTER TO pSetUDataOnce;
  2107.   pSetUDataOnce    = pSetUData;
  2108.  
  2109.   METHOD FindUData  (o : Object; udata : LONGINT) : Object;
  2110.   METHOD GetUData   (o : Object; udata : LONGINT; attr : MuiTags; VAR storage : LONGINT);
  2111.   METHOD SetUData   (o : Object; udata : LONGINT; tag  : MuiTags);
  2112.  
  2113.   METHOD CallHook   (o : Object; hook : HookPtr;     hookParam : LIST OF LONGINT );
  2114.   METHOD CallHookA  (o : Object; hook : HookPtr; REF hookParam : ANYTYPE );  | muß RECORD OF MsgRoot sein
  2115.  
  2116.   METHOD MultiSet (o      : Object;
  2117.            tag    : MuiTags;
  2118.            obj    : LIST OF Object );
  2119.  
  2120.   METHOD Notify (o          : Object;
  2121.          trigger    : MuiTags;
  2122.          destObj    : Object;
  2123.          destMsg    : LIST OF LONGINT );
  2124.  
  2125.   METHOD NotifyA (o         : Object;
  2126.          trigger    : MuiTags;
  2127.          destObj    : Object;
  2128.          REF destMsg    : ANYTYPE );     | muß RECORD OF MsgRoot sein
  2129.  
  2130.   METHOD KillNotify (o : Object; trigAttr : MuiTags);
  2131.  
  2132.   METHOD SetAsString (o        : Object;
  2133.               tag      : MuiTags;
  2134.               val      : LIST OF LONGINT);
  2135.  
  2136.   METHOD SetAsStringA (o       : Object;
  2137.               tag      : MuiTags;
  2138.           REF val      : ARRAY OF LONGINT);
  2139.  
  2140.   METHOD WriteLong (o         : Object;
  2141.             val       : LONGINT;
  2142.         VAR memory    : LONGINT; );
  2143.  
  2144.   METHOD WriteString (o         : Object;
  2145.               str       : SysStringPtr;
  2146.           VAR memory    : STRING; );
  2147.  
  2148.   METHOD AddMember (o, add : Object);
  2149.   METHOD RemMember (o, rem : Object);
  2150.  
  2151.  
  2152. EXCEPTION UnknownAttribute : "Attribute not recognized";
  2153.   METHOD Get       (obj : Object; attrID : MuiTags; VAR store : LONGINT);
  2154.   METHOD GetA      (obj : Object; attrID : MuiTags) : LONGINT;
  2155.   METHOD GetB      (obj : Object; attrID : MuiTags; VAR store : LONGINT) : BOOLEAN;
  2156.   METHOD GetG      (obj : Object; tag    : LONGCARD) : LONGINT;
  2157.   METHOD GetT      (obj : Object; VAR attrID : MuiTags);
  2158.   METHOD Set       (obj : Object; tag    : MuiTags);
  2159.   METHOD NNSet     (obj : Object; tag    : MuiTags);
  2160.   METHOD SetAttrs  (obj : Object; tags   : LIST OF MuiTags);
  2161.   METHOD SetAttrsA (obj : Object; tags   : MuiTagAPtr);
  2162.   METHOD SetG      (obj : Object; tag    : LONGCARD; data : LONGINT);
  2163.   METHOD SetAttrsG (obj : Object; tags   : LIST OF LONGCARD);
  2164.  
  2165.   METHOD SetMutex     (obj : Object;     n : LONGINT);
  2166.   METHOD SetCycle     (obj : Object;     n : LONGINT);
  2167.   METHOD SetString    (obj : Object; REF s : STRING);
  2168.   METHOD SetCheckmark (obj : Object;     b : BOOLEAN);
  2169.   METHOD SetSlider    (obj : Object;     l : LONGINT);
  2170.  
  2171.  
  2172. (****************************************************************************)
  2173. (** Functions in muimaster.library                                         **)
  2174. (****************************************************************************)
  2175.  
  2176. VAR
  2177.   MuiBase   : LibraryPtr;
  2178.  
  2179. LIBRARY MuiBase BY -30
  2180.   PROCEDURE NewObjectA (class IN A0 : SysStringPtr;
  2181.             tags  IN A1 : MuiTagAPtr): Object;
  2182.  
  2183. LIBRARY MuiBase BY -30
  2184.   PROCEDURE NewObject  (class IN A0 : SysStringPtr;
  2185.             tags  IN A1 : LIST OF MuiTags): Object;
  2186.  
  2187. LIBRARY MuiBase BY -36
  2188.   PROCEDURE DisposeObject (obj IN A0 : Object);
  2189.  
  2190. LIBRARY MuiBase BY -42
  2191.   PROCEDURE RequestA (app     IN D0 : ApplicationObject;
  2192.               win     IN D1 : WindowObject;
  2193.               flags   IN D2 : LONGSET;      | noch keine Flags verfügbar
  2194.               title   IN A0 : SysStringPtr;
  2195.               gadgets IN A1 : SysStringPtr;
  2196.               format  IN A2 : SysStringPtr;
  2197.               params  IN A3 : MuiTagAPtr) : LONGINT;
  2198.  
  2199. LIBRARY MuiBase BY -42
  2200.   PROCEDURE Request  (app     IN D0 : ApplicationObject;
  2201.               win     IN D1 : WindowObject;
  2202.               flags   IN D2 : LONGSET;
  2203.               title   IN A0 : SysStringPtr;
  2204.               gadgets IN A1 : SysStringPtr;
  2205.               format  IN A2 : SysStringPtr;
  2206.               params  IN A3 : LIST OF MuiTags) : LONGINT;
  2207.  
  2208. LIBRARY MuiBase BY -48
  2209.   PROCEDURE AllocAslRequest     (typ  IN D0 : RequestType;
  2210.                  tags IN A0 : MuiTagAPtr) : AslRequesterPtr;
  2211.  
  2212. LIBRARY MuiBase BY -48
  2213.   PROCEDURE AllocAslRequestTags (typ  IN D0 : RequestType;
  2214.                  tags IN A0 : LIST OF MuiTags) : AslRequesterPtr;
  2215.  
  2216. LIBRARY MuiBase BY -54
  2217.   PROCEDURE AslRequest     (req  IN A0 : AslRequesterPtr;
  2218.                 tags IN A1 : MuiTagAPtr) : BOOLEAN;
  2219.  
  2220. LIBRARY MuiBase BY -54
  2221.   PROCEDURE AslRequestTags (req  IN A0 : AslRequesterPtr;
  2222.                 tags IN A1 : LIST OF MuiTags) : BOOLEAN;
  2223.  
  2224. LIBRARY MuiBase BY -60
  2225.   PROCEDURE FreeAslRequest (req  IN A0 : AslRequesterPtr );
  2226.  
  2227. |LIBRARY MuiBase BY -66
  2228. |  PROCEDURE Error () : MuiError;
  2229.  
  2230. (* functions to be used with custom classes *)
  2231.  
  2232. |LIBRARY MuiBase BY -72
  2233. |  PROCEDURE SetError (errnum IN D0 : MuiError);
  2234.  
  2235. |LIBRARY MuiBase BY -78
  2236. |  PROCEDURE GetClass (classname IN A0 : SysStringPtr) : IClassPtr;
  2237.  
  2238. |LIBRARY MuiBase BY -84
  2239. |  PROCEDURE FreeClass (classptr IN A0 : IClassPtr);
  2240.  
  2241. LIBRARY MuiBase BY -90
  2242.   PROCEDURE RequestIDCMP (obj IN A0 : Object; flags IN D0 : IDCMPFlagSet);
  2243.  
  2244. LIBRARY MuiBase BY -96
  2245.   PROCEDURE RejectIDCMP  (obj IN A0 : Object; flags IN D0 : IDCMPFlagSet);
  2246.  
  2247. LIBRARY MuiBase BY -102
  2248.   PROCEDURE Redraw (obj IN A0 : Object; flags IN D0 : AreaDataFlagSet);
  2249.  
  2250. LIBRARY MuiBase BY -108
  2251.   PROCEDURE CreateCustomClass (base      IN A0 : LibraryPtr;
  2252.                    supername IN A1 : SysStringPtr;
  2253.                    supermcc  IN A2 : CustomClassPtr;
  2254.                    datasize  IN D0 : LONGINT;
  2255.                    dispfunc  IN A3 : Dispatcher) : CustomClassPtr;
  2256.  
  2257. LIBRARY MuiBase BY -114
  2258.   PROCEDURE DeleteCustomClass (mcc IN A0 : CustomClassPtr) : BOOLEAN;
  2259.  
  2260.  
  2261. LIBRARY MuiBase BY -120
  2262.   PROCEDURE MakeObject (objtype IN D0 : SimpleObjects;
  2263.             params  IN A0 : LIST OF ANYPTR) : Object;
  2264.  
  2265. LIBRARY MuiBase BY -120
  2266.   PROCEDURE MakeObjectA (objtype IN D0 : SimpleObjects;
  2267.              REF params  IN A0 : pSimple) : Object;
  2268.  
  2269. LIBRARY MuiBase BY -156
  2270.   PROCEDURE ObtainPen (mri  IN A0 : RenderInfoPtr;
  2271.                spec IN A1 : PenSpecPtr) : LONGINT;
  2272.  
  2273. LIBRARY MuiBase BY -162
  2274.   PROCEDURE ReleasePen (mri IN A0 : RenderInfoPtr;
  2275.             pen IN D0 : LONGINT);
  2276.  
  2277. TYPE
  2278.   ClippingHandlePtr   = HIDDEN;
  2279.   ClipRegionHandlePtr = HIDDEN;
  2280.  
  2281. LIBRARY MuiBase BY -168
  2282.   PROCEDURE AddClipping (mri    IN A0  : RenderInfoPtr;
  2283.              left   IN D0,
  2284.              top    IN D1,
  2285.              width  IN D2,
  2286.              height IN D3 : INTEGER) : ClippingHandlePtr;
  2287.  
  2288. LIBRARY MuiBase BY -174
  2289.   PROCEDURE RemoveClipping (mri    IN A0 : RenderInfoPtr;
  2290.                 handle IN A1 : ClippingHandlePtr);
  2291.  
  2292. LIBRARY MuiBase BY -180
  2293.   PROCEDURE AddClipRegion (mri IN A0 : RenderInfoPtr;
  2294.                r   IN A1 : RegionPtr) : ClipRegionHandlePtr;
  2295.  
  2296. LIBRARY MuiBase BY -186
  2297.   PROCEDURE RemoveClipRegion (mri    IN A0 : RenderInfoPtr;
  2298.                   handle IN A1 : ClipRegionHandlePtr);
  2299.  
  2300. LIBRARY MuiBase BY -192
  2301.   PROCEDURE BeginRefresh (mri   IN A0 : RenderInfoPtr;
  2302.               flags IN D0 : LONGSET) : BOOLEAN;
  2303.  
  2304. LIBRARY MuiBase BY -198
  2305.   PROCEDURE EndRefresh (mri   IN A0 : RenderInfoPtr;
  2306.             flags IN D0 : LONGSET);
  2307.  
  2308.  
  2309. (*************************************************************)
  2310. (* layout function, use only in custom layout callback hook! *)
  2311. (*************************************************************)
  2312.  
  2313. LIBRARY MuiBase BY -126
  2314.   PROCEDURE Layout (obj    IN A0 : Object;
  2315.             left   IN D0,
  2316.             top    IN D1,
  2317.             width  IN D2,
  2318.             height IN D3 : LONGINT;
  2319.             flag   IN D4 : LONGCARD) : BOOLEAN;
  2320.  
  2321.  
  2322. PROCEDURE DOMethodA (obj IN A2 : Object; msg IN A1 : Msg) : LONGINT;
  2323.  
  2324. TYPE
  2325.   DoMethodRefNRProc  = PROCEDURE (obj IN A2 : Object; REF msg IN A1 : MsgRoot);
  2326.   DoMethodListNRProc = PROCEDURE (obj IN A2 : Object;     msg IN A1 : LIST OF LONGINT);
  2327.   DoMethodListProc   = PROCEDURE (obj IN A2 : Object;     msg IN A1 : LIST OF LONGINT) : LONGINT;
  2328.  
  2329. CONST
  2330.   DoMethodRef = DoMethodRefNRProc  (DOMethodA);
  2331.   DoMethod    = DoMethodListNRProc (DOMethodA);
  2332.   DOMethod    = DoMethodListProc   (DOMethodA);
  2333.  
  2334.   METHOD OClass   (o IN A0 : Object) : IClassPtr;
  2335.   METHOD InstData (o IN A0 : Object) : ANYPTR;
  2336.  
  2337.  
  2338. LIBRARY IntuitionBase BY -636
  2339.   PROCEDURE NewCustomObjectA (class   IN A0 : IClassPtr;
  2340.                   classID IN A1 : SysStringPtr;
  2341.                   tags    IN A2 : MuiTagAPtr) : Object;
  2342.  
  2343. LIBRARY IntuitionBase BY -636
  2344.   PROCEDURE NewCustomObject  (class   IN A0 : IClassPtr;
  2345.                   classID IN A1 : SysStringPtr;
  2346.                   tags    IN A2 : LIST OF MuiTags) : Object;
  2347.  
  2348.  
  2349. GROUP
  2350.    NotifyGrp =
  2351.      mCallHook,    mFindUData, mGetUData,    mKillNotify,
  2352.      mMultiSet,    mNotify,    mNoNotifySet, mSet,
  2353.      mSetAsString, mSetUData,  mWriteLong,   mWriteString,
  2354.  
  2355.      everyTime,     triggerValue,     notTriggerValue,
  2356.      ptrEveryTime,  ptrTriggerValue,
  2357.      realEveryTime, realTriggerValue,
  2358.      boolEveryTime, boolTriggerValue, boolNotTriggerValue,
  2359.      notifySelf,    notifyWindow,
  2360.      notifyParent,  notifyApplication;
  2361.  
  2362.    ApplicationGrp =
  2363.      ApplicationObject,          ApplicationRec,
  2364.  
  2365.      mApplicationGetMenuCheck,   mApplicationGetMenuState,
  2366.      mApplicationSetMenuCheck,   mApplicationSetMenuState,
  2367.      mApplicationInput,          mApplicationInputBuffered,
  2368.      mApplicationLoad,           mApplicationSave,
  2369.      mApplicationPushMethod,     mApplicationReturnID,
  2370.      mApplicationShowHelp,
  2371.  
  2372.      applicationSaveENV,         applicationSaveENVARC,
  2373.      applicationLoadENV,         applicationLoadENVARC,
  2374.      applicationReturnIDQuit;
  2375.  
  2376.    WindowGrp =
  2377.      WindowObject,               WindowRec,
  2378.      LongID,                     WindowActiveObject,
  2379.  
  2380. |    mWindowGetMenuCheck,        mWindowGetMenuState,
  2381. |    mWindowSetMenuCheck,        mWindowSetMenuState,
  2382.      mWindowScreenToBack,        mWindowScreenToFront,
  2383.      mWindowToBack,              mWindowToFront,
  2384. |    mWindowSetCycleChain,
  2385.  
  2386.      windowAltHeightMinMax,      windowAltHeightVisible,
  2387.      windowAltHeightScreen,      windowAltHeightScaled,
  2388.      windowAltLeftEdgeCentered,
  2389.      windowAltLeftEdgeMoused,    windowAltLeftEdgeNoChange,
  2390.      windowAltTopEdgeCentered,   windowAltTopEdgeMoused,
  2391.      windowAltTopEdgeDelta,      windowAltTopEdgeNoChange,
  2392.      windowAltWidthMinMax,       windowAltWidthVisible,
  2393.      windowAltWidthScreen,       windowAltWidthScaled,
  2394.      windowHeightMinMax,         windowHeightVisible,
  2395.      windowHeightScreen,         windowHeightScaled,
  2396.      windowHeightDefault,        windowLeftEdgeCentered,
  2397.      windowLeftEdgeMoused,       windowMenuNoMenu,
  2398.      windowTopEdgeCentered,      windowTopEdgeMoused,
  2399.      windowTopEdgeDelta,         windowWidthMinMax,
  2400.      windowWidthVisible,         windowWidthScreen,
  2401.      windowWidthScaled,          windowWidthDefault;
  2402.  
  2403.    AreaGrp =
  2404.      AreaObject,        AreaRec,
  2405.      AreaDataFlags,     AreaDataFlagSet,
  2406.  
  2407.      mSetup,            mCleanup,
  2408.      mDraw,             mAskMinMax,
  2409.      mHide,             mShow,
  2410.      mDragBegin,        mDragFinish,
  2411.      mDragQuery,        mDragDrop,
  2412.      mDragReport,       mHandleInput,
  2413.  
  2414.      Fonts, Frames, InputModes;
  2415.  
  2416.    FamilyGrp =
  2417.      FamilyObject,      FamilyRec,
  2418.  
  2419.      mFamilyAddHead,    mFamilyAddTail,
  2420.      mFamilyInsert,     mFamilyRemove,
  2421.      mFamilySort,       mFamilyTransfer;
  2422.  
  2423.    ListGrp =
  2424.      ListObject,        ListRec,
  2425.  
  2426.      mListInsert,       mListInsertSingle,
  2427.      mListRemove,       mListClear,
  2428.      mListJump,         mListMove,
  2429.      mListNextSelected, mListSelect,
  2430.      mListSort,         mListRedraw,
  2431.      mListExchange,     mListGetEntry,
  2432.      mDirlistReRead,
  2433.  
  2434.      listInsertTop,     listInsertActive,
  2435.      listInsertSorted,  listInsertBottom,
  2436.      listRemoveFirst,   listRemoveActive,
  2437.      listRemoveLast,    listGetEntryActive,
  2438.      listSelectActive,  listSelectAll,
  2439.      listRedrawActive,  listRedrawAll,
  2440.      listMoveTop,       listMoveActive,
  2441.      listMoveBottom,    listMoveNext,
  2442.      listMovePrevious,
  2443.      listExchangeTop,   listExchangeActive,
  2444.      listExchangeBottom,listExchangeNext,
  2445.      listExchangePrevious,
  2446.      listJumpTop,       listJumpActive,
  2447.      listJumpBottom,
  2448.      listNextSelectedStart,listNextSelectedEnd,
  2449.      ListActive,        ListSelect,
  2450.      ListCursorTypes,
  2451.      listConstructHookString, listCopyHookString,
  2452.      listDestructHookString,
  2453.  
  2454.      DirlistSortDirs,     DirlistSortTypes,    DirlistStatus,
  2455.      ListViewMultiSelect, ListViewScrollerPos, ListViewDragTypes;
  2456.  
  2457.    PopstringGrp =
  2458.      PopstringObject, PopstringRec,
  2459.      mPopstringClose, mPopstringOpen;
  2460.  
  2461.    SimpleObjectsGrp =
  2462.      MakeObject,       MakeObjectA,
  2463.      SimpleObjects,
  2464.      SimpleLabelFlags, SimpleLabelFlagSet,
  2465.      pSimple,          pSpace,
  2466.      pLabel,           pButton,
  2467.      pCycle,           pSlider,
  2468.      pString,          pPopButton,
  2469.      pMenuStrip,       pMenuItem;
  2470.  
  2471.    OtherValuesGrp =
  2472.      CBOOLEAN, StandardImages, maxmax,
  2473.      xR, xC, xL,   xN, xB, xI, xU,   xPT, xPH,
  2474.      colorpanelGetColorActive, colorpanelSetColorActive,
  2475.      CycleActive,              ImageDrawStates,
  2476.      paletteEntryEnd,          StringFormat;
  2477.  
  2478.    MethodGrp =
  2479.      DOMethodA, DoMethodRef, DoMethod, DOMethod;
  2480.  
  2481.    ObjectHandlingGrp =
  2482.      Object,       ObjectRec,
  2483.      GroupObject,  GroupRec,
  2484.      MethodGrp,    PopstringGrp, ListGrp,
  2485.      AreaGrp,      WindowGrp,
  2486.      NotifyGrp,    ApplicationGrp,
  2487.      FamilyGrp,    OtherValuesGrp;
  2488.  
  2489.    MessageGrp =
  2490.      pBoopsiQuery,             BoopsiQueryFlagSet,
  2491.      pCallHook,                pCallHookPtr,
  2492.      pMultiSet,                pMultiSetPtr,
  2493.      pNotify,                  pNotifyPtr,
  2494.      pSet,                     pSetPtr,
  2495.      pNoNotifySet,             pNoNotifySetPtr,
  2496.      pSetAsString,             pSetAsStringPtr,
  2497.      pWriteLong,               pWriteLongPtr,
  2498.      pWriteString,             pWriteStringPtr,
  2499. |    pApplicationGetMenuCheck, pApplicationGetMenuCheckPtr,
  2500. |    pApplicationGetMenuState, pApplicationGetMenuStatePtr,
  2501. |    pApplicationInput,        pApplicationInputPtr,
  2502.      pApplicationNewInput,     pApplicationNewInputPtr,
  2503.      pApplicationLoad,         pApplicationLoadPtr,
  2504.      pApplicationPushMethod,   pApplicationPushMethodPtr,
  2505.      pApplicationReturnID,     pApplicationReturnIDPtr,
  2506.      pApplicationSave,         pApplicationSavePtr,
  2507. |    pApplicationSetMenuCheck, pApplicationSetMenuCheckPtr,
  2508. |    pApplicationSetMenuState, pApplicationSetMenuStatePtr,
  2509.      pApplicationShowHelp,     pApplicationShowHelpPtr,
  2510. |    pWindowGetMenuCheck,      pWindowGetMenuCheckPtr,
  2511. |    pWindowGetMenuState,      pWindowGetMenuStatePtr,
  2512. |    pWindowSetCycleChain,     pWindowSetCycleChainPtr,
  2513. |    pWindowSetMenuCheck,      pWindowSetMenuCheckPtr,
  2514. |    pWindowSetMenuState,      pWindowSetMenuStatePtr,
  2515.      pAskMinMax,               pAskMinMaxPtr,
  2516.      pDraw,                    pDrawPtr,
  2517.      pDragBegin,               pDragBeginPtr,
  2518.      pDragDrop,                pDragDropPtr,
  2519.      pDragFinish,              pDragFinishPtr,
  2520.      pDragQuery,               pDragQueryPtr,
  2521.      pDragReport,              pDragReportPtr,
  2522.      pHandleInput,             pHandleInputPtr,
  2523.      pSetUp,                   pSetUpPtr,
  2524.      pListExchange,            pListExchangePtr,
  2525.      pListGetEntry,            pListGetEntryPtr,
  2526.      pListInsert,              pListInsertPtr,
  2527.      pListInsertSingle,        pListInsertSinglePtr,
  2528.      pListJump,                pListJumpPtr,
  2529.      pListMove,                pListMovePtr,
  2530.      pListNextSelected,        pListNextSelectedPtr,
  2531.      pListRedraw,              pListRedrawPtr,
  2532.      pListRemove,              pListRemovePtr,
  2533.      pListSelect,              pListSelectPtr,
  2534.      pPopstringClose,          pPopstringClosePtr;
  2535.  
  2536.    RecordGrp =
  2537.      Command,          CommandPtr,
  2538.      PaletteEntry,     PaletteEntryPtr,
  2539.      ScrmodelistEntry, ScrmodelistEntryPtr,
  2540.      NotifyData,       NotifyDataPtr,
  2541.      MinMax,           MinMaxPtr,
  2542.      AreaData,         AreaDataPtr,
  2543.      GlobalInfo,       GlobalInfoPtr,
  2544.      RenderInfo,       RenderInfoPtr,
  2545.      CustomClass,      CustomClassPtr;
  2546.  
  2547.    ObjectGrp =
  2548.      NewObjectA, NewObject, DisposeObject,
  2549.      NewCustomObjectA,      NewCustomObject,
  2550.      MuiTags,    MuiTagA,   MuiTagAPtr;
  2551.  
  2552.    ClassGrp =
  2553. |    GetClass,          FreeClass,
  2554.      CreateCustomClass, DeleteCustomClass,
  2555.      AddClipping,       RemoveClipping,
  2556.      AddClipRegion,     RemoveClipRegion,
  2557.      BeginRefresh,      EndRefresh,
  2558.      ObtainPen,         ReleasePen,
  2559.      Layout,
  2560.      cNotify,      cFamily,      cApplication, cWindow,     cArea,
  2561.      cString,      cList,        cDirlist,     cListview,   cCycle,
  2562.      cPopstring,   cMenustrip,   cMenu,        cMenuitem,   cRectangle,
  2563.      cImage,       cBitmap,      cBodychunk,   cText,       cProp,
  2564.      cGauge,       cScale,       cBoopsi,      cColorfield, cFloattext,
  2565.      cVolumelist,  cScrmodelist, cGroup,       cRegister,   cVirtgroup,
  2566.      cScrollgroup, cScrollbar,   cRadio,       cSlider,     cColoradjust,
  2567.      cPalette,     cColorpanel,  cPopobject,   cPoplist,    cPopasl,
  2568.      cPoppen,      cAboutmui,    cKeyentry,    cBalance;
  2569.  
  2570.  
  2571.  
  2572.    FuncGrp =
  2573.      RequestA,          Request,
  2574.      AllocAslRequest,   AllocAslRequestTags,
  2575.      AslRequest,        AslRequestTags,      FreeAslRequest,
  2576. |    Error,             SetError,
  2577.      RequestIDCMP,      RejectIDCMP,
  2578.      Redraw;
  2579.  
  2580.    ErrorGrp =
  2581.      OutOfMemory,         OutOfGfxMemory,
  2582.      InvalidWindowObject, MissingLibrary,
  2583.      NoARexx,             SingleTask,
  2584.      MuiErr,              AssertMuiError;
  2585.  
  2586.    All = FuncGrp,  RecordGrp, SimpleObjectsGrp,
  2587.      ObjectHandlingGrp, MessageGrp, ObjectGrp, ClassGrp,
  2588.      ErrorGrp;
  2589.  
  2590. END MuiO.
  2591.  
  2592.  
  2593.